Cov txheej txheem:

Micro-controller Raws Metronome: 5 Cov Kauj Ruam
Micro-controller Raws Metronome: 5 Cov Kauj Ruam

Video: Micro-controller Raws Metronome: 5 Cov Kauj Ruam

Video: Micro-controller Raws Metronome: 5 Cov Kauj Ruam
Video: PID demo 2024, Kaum ib hlis
Anonim
Image
Image

Lub ntsuas ntsuas yog lub sijhawm siv los ntawm cov kws ntaus nkauj kom taug qab cov neeg ntaus hauv cov nkauj thiab txhawm rau txhim kho kev nkag siab ntawm lub sijhawm ntawm cov pib uas tab tom kawm ntaus ntawv tshiab. Nws pab tswj kom muaj kev nkag siab zoo uas yog qhov tseem ceeb hauv suab paj nruag.

Qhov ntsuas ntsuas no tau tsim los ntawm no tuaj yeem siv los teev cov neeg ntaus ib qho bar thiab ntaus ib feeb. Thaum cov ntaub ntawv teeb tsa no nkag mus, nws ua raws li cov ntaub ntawv suav nrog teeb pom kev zoo tsim nyog siv LEDs. Cov ntaub ntawv teeb tsa tau tshwm rau hauv lub vijtsam LCD.

Kauj Ruam 1: Cov Cheeb Tsam Yuav Tsum Tau:

·

  • Atmega8A Microcontroller
  • · 16*2 Lcd Zaub
  • · Piezo Buzzer
  • · LEDs (ntsuab, liab)
  • · Resistors (220e, 330e, 1k, 5.6k)
  • · Pushbuttons (2* tiv thaiv xauv, 1* ntsuas phoo)
  • · 3V CR2032 Npib Cell Roj Teeb (*2)
  • Npib Roj Teeb Nrog (*2)
  • · 6pin Kev Sib Txuas (polarized) Txuas

Kauj ruam 2: Ua Circuit Court

Ua cov kev sib txuas hauv Circuit Court raws li qhia hauv daim duab ntawm veroboard thiab muab cov khoom sib txuas txuas kom raug

Kauj Ruam 3: Cov yam ntxwv ntawm Metronome

Lub metronome's interface feem ntau yog nyob ntawm lub vijtsam lcd. Saum toj no nws yog 8A microcontroller tso rau hauv nruab nrab nrog LEDs thiab buzzer rau sab xis. Peb qhov hloov pauv thiab Cov Txuas Txuas Txuas tau muab tso rau saum toj.

Tag nrho txoj haujlwm yog siv los ntawm ob lub roj teeb ntawm tes nkaus xwb (hauv koob @6V 220mAh) nrog kwv yees li runtime ntawm 20 hnub txog 1 hlis (tsis txuas ntxiv). Li no nws yog lub zog nruab nrab muaj txiaj ntsig thiab muaj qhov xav tau tam sim no ntawm 3 - 5 mA.

Tus kheej ntsuas phoo hloov pauv tau muab tso rau sab laug thiab yog ON/OFF khawm. Lub pob nyob hauv nruab nrab yog Teeb Teeb thiab khawm rau sab xis yog siv los hloov qhov txiaj ntsig rau bpm thiab ntaus (ib qho bar).

Thaum lub ON/OFF hloov tau nyem, lub lcd tig rau thiab qhia tus nqi ntawm ntaus ib kab. Nws tos 3 vib nas this rau tus neeg siv hloov tus nqi tom qab uas nws siv tus txiaj ntsig txiaj ntsig raws li nws cov tswv yim. Tus nqi no txawv ntawm 1/4, 2/4, 3/4, 4/4.

Tom qab ntawd nws nthuav tawm cov neeg ntaus ib feeb (bpm) thiab rov tos txog 3 vib nas this rau tus neeg siv hloov kho tus nqi tom qab uas nws teev tus nqi tshwj xeeb. Lub sijhawm tos ntawm 3 vib nas this yog ntsuas tom qab tus neeg siv hloov tus nqi. Tus nqi bpm tuaj yeem sib txawv ntawm 30 txog 240. Nias lub Teeb teeb thaum lub sijhawm teeb tsa bpm rov pib dua nws tus nqi rau 30 bpm uas yog qhov muaj txiaj ntsig hauv kev txo tus nqi ntawm kev nyem khawm. Tus nqi bpm yog zauv ntawm 5.

Tom qab teeb tsa tiav, lcd backlight tig tua kom txuag roj teeb. Lub Buzzer beeps ib zaug rau txhua qhov kev ntaus thiab LEDs ntsais ib zaug ib zaug rau txhua qhov kev ntaus. Txhawm rau hloov qhov muaj nuj nqis, teeb tsa khawm raug nias. Thaum ua li ntawd, lub lcd teeb pom kev rov qab qhib thiab ntaus nrawm tshwm zoo li tau hais ua ntej nrog tib cov txheej txheem tom qab.

Atmega8A microcontroller suav nrog 500 bytes ntawm EEPROM lub ntsiab lus tias qhov tseem ceeb ntawm kev ntaus thiab bpm tau nkag mus, tseem khaws cia txawm tias tom qab lub metronome raug kaw. Yog li tig nws rov qab, ua rau nws rov pib dua nrog tib cov ntaub ntawv uas tau nkag ua ntej.

Qhov kev sib raug zoo yog qhov tseeb SPI lub taub hau uas tuaj yeem siv rau ob lub hom phiaj. Nws tuaj yeem siv los rov tsim dua Atmega8A microcontroller los hloov kho nws cov firmware thiab ntxiv cov yam ntxwv tshiab rau lub tshuab ntsuas. Qhov thib ob, lub zog hluav taws xob sab nraud kuj tseem tuaj yeem siv los ntsuas lub zog ntsuas rau cov neeg siv tawv. Tab sis cov khoom siv hluav taws xob no yuav tsum tsis txhob ntau dua 5.5 volts thiab nws hla lub ON/OFF hloov. Txog kev nyab xeeb vim li cas, qhov hloov pauv YUAV TSUM tawm kom cov khoom siv sab nraud tsis luv nrog cov roj teeb inbuilt.

Kauj ruam 4: Kev piav qhia

Txoj haujlwm no yog tsim los siv Atmel Atmega8A microcontroller uas tau npaj ua haujlwm siv Arduino IDE ntawm Arduino Uno/Mega/Nano siv los ua ISP Programmer.

Lub microcontroller no yog qhov tsawg dua qhov tshwj xeeb ntawm Atmel Atmega328p uas tau siv dav hauv Arduino Uno. Atmega8A suav nrog 8Kb programmable nco nrog 1Kb RAM. Nws yog 8 me ntsis microcontroller khiav ntawm tib zaus li 328p piv txwv li 16Mhz.

Hauv txoj haujlwm no, raws li kev siv tam sim no yog qhov tseem ceeb, lub moos zaus tau raug txo thiab sab hauv 1 Mhz oscillator tau siv. Qhov no zoo heev txo qhov xav tau tam sim no txog 3.5 mA @3.3V thiab 5mA @4.5V.

Arduino IDE tsis muaj qhov chaw los teeb tsa lub microcontroller no. Yog li pob "Minicore" pob (plugin) tau teeb tsa los ua haujlwm 8A nrog nws cov oscillator sab hauv siv Optiboot bootloader. Nws tau pom tias lub zog xav tau ntawm txoj haujlwm tau nce nrog qhov nce hluav taws xob. Li no rau kev siv fais fab zoo tshaj plaws, lub microcontroller tau teeb tsa kom ua haujlwm ntawm 1 MHz nrog ib leeg 3V npib roj teeb teeb duab tsuas yog 3.5mA. Tab sis nws tau pom tias lub lcd tsis ua haujlwm zoo ntawm qhov qis qis. Li no qhov kev txiav txim siab siv ob lub npib roj teeb hauv kab ntawv tau thov txhawm rau txhawm rau qhov hluav taws xob mus rau 6V. Tab sis qhov no txhais tau tias kev siv tam sim no nce mus rau 15mA uas yog qhov tsis zoo loj li lub roj teeb lub neej yuav tsis zoo. Tsis tas li nws dhau qhov kev nyab xeeb txwv ntawm 5.5V ntawm 8A microcontroller.

Vim li no 330 ohm resistor tau txuas nrog hauv kab nrog 6V lub zog xa khoom kom tshem tawm qhov teeb meem no. Tus tiv thaiv pib ua rau qhov poob qis hla nws tus kheej kom txo qis qib hauv 5.5V kom nyab xeeb khiav lub microcontroller. Txuas ntxiv tus nqi ntawm 330 tau xaiv los ntawm kev txiav txim siab ntau yam:

  • · Lub hom phiaj yog kom ua haujlwm 8A ntawm qhov hluav taws xob qis li sai tau kom txuag tau lub zog.
  • · Nws tau pom tias lub lcd nres ua haujlwm qis dua 3.2V txawm hais tias lub microcontroller tseem ua haujlwm
  • · Tus nqi no ntawm 330 ua kom ntseeg tau tias qhov hluav taws xob poob qis ntawm qhov tsis txaus ntseeg yog qhov tseeb kom ua tiav siv cov nyiaj npib.
  • · Thaum cov nyiaj npib nyob ntawm lawv qhov siab, qhov hluav taws xob nyob ib puag ncig 6.3V, nrog 8A tau txais qhov ntsuas hluav taws xob zoo ntawm 4.6 - 4.7 V (@ 5mA). Thiab thaum lub roj teeb yuav luag qhuav tawm, qhov hluav taws xob nyob ib puag ncig 4V nrog 8A thiab lub lcd tau txais qhov hluav taws xob txaus tsuas yog 3.2V kom ua haujlwm raug. (@3.5mA)
  • · Hauv qab 4v qib ntawm cov roj teeb, lawv tau siv tsis muaj txiaj ntsig yam tsis muaj kua txiv tso rau kom muaj zog dab tsi. Qhov hluav taws xob poob hla tus tiv thaiv sib txawv txhua lub sijhawm txij li kev siv tam sim no ntawm 8A microcontroller thiab lcd txo nrog txo qhov hluav taws xob uas qhov tseem ceeb pab hauv kev nce roj teeb lub neej.

Lub 16*2 LCD tau teeb tsa siv qhov ua hauv LiquidCrystal lub tsev qiv ntawv ntawm Arduino IDE. Nws siv 6 cov ntaub ntawv pins ntawm 8A microcontroller. Ib qho ntxiv, nws qhov ci ci thiab qhov sib txawv tau tswj hwm siv ob tus pin cov ntaub ntawv. Qhov no tau ua tiav kom tsis txhob siv cov khoom siv ntxiv xws li lub zog ntsuas. Hloov chaw, PWM muaj nuj nqi ntawm cov ntaub ntawv tus pin D9 tau siv los kho qhov sib piv ntawm lub vijtsam. Tsis tas li lub lcd backlight xav tau tawm thaum tsis xav tau, yog li qhov no yuav tsis muaj peev xwm ua tau yam tsis siv tus pin tus lej txhawm rau txhawb nws. 220 ohm resistor tau siv los txwv qhov tam sim no hla lub teeb pom kev zoo LED.

Buzzer thiab LEDs kuj tseem txuas nrog cov ntaub ntawv xov ntawm 8A (ib qho rau txhua tus). 5.6 k ohm resistor tau siv los txwv qhov tam sim no hla lub LED liab thaum 1k ohm tau siv rau qhov ntsuab. Qhov ntsuas qhov ntsuas tau xaiv los ntawm kev tau txais qhov qab zib ntawm qhov ci ci thiab kev siv tam sim no.

Lub ON/OFF khawm tsis txuas nrog tus pin cov ntaub ntawv thiab tsuas yog qhov hloov pauv uas hloov pauv txoj haujlwm. Ib qho ntawm nws lub davhlau ya nyob twg txuas rau 330 ohm resistor thaum lwm tus txuas rau Vcc pins ntawm lcd thiab 8A. Ob lub khawm ntxiv tau txuas nrog cov ntaub ntawv pins uas tau rub tawm sab hauv los muab hluav taws xob los ntawm software. Qhov no yog qhov tsim nyog rau kev ua haujlwm ntawm cov hloov pauv.

Ntxiv rau cov ntaub ntawv tus pin, Teeb Teeb txuas rau, yog Hardware Interrupt pin. Nws cuam tshuam cov kev pabcuam niaj hnub (ISR) tau qhib rau hauv Arduino IDE. Qhov no txhais li cas yog tias thaum twg los xij tus neeg siv xav kom teeb tsa cov ntawv qhia zaub mov, 8A ncua nws txoj haujlwm tam sim no ntawm kev ua haujlwm raws li lub tshuab ntsuas, thiab ua haujlwm ISR uas pib ua haujlwm teeb tsa cov ntawv qhia zaub mov. Txwv tsis pub, tus neeg siv yuav tsis tuaj yeem nkag mus rau Setup menu.

Qhov kev xaiv EEPROM tau hais ua ntej ua kom ntseeg tau tias cov ntaub ntawv nkag mus tseem khaws cia txawm tias tom qab lub rooj tsavxwm raug kaw. Thiab SPI lub taub hau suav nrog 6 tus pin - Vcc, Gnd, MOSI, MISO, SCK, RST. Qhov no yog ib feem ntawm SPI cov txheej txheem thiab raws li tau hais ua ntej, ISP programmer tuaj yeem siv los ua haujlwm 8A ntxiv rau ntxiv cov yam ntxwv tshiab lossis lwm yam. Tus Vcc tus pin raug cais los ntawm lub roj teeb zoo lub davhlau ya nyob twg thiab li no Metronome muab qhov kev xaiv los siv lub zog hluav taws xob sab nraud kom nco ntsoov cov kev txwv uas tau hais ua ntej.

Tag nrho txoj haujlwm tau tsim hauv Veroboard los ntawm kev siv cov khoom ib leeg thiab kev sib txuas tsim nyog raws li daim duab qhia chaw.

Pom zoo: