PWM: aithris a dhéanamh ar bhioráin analógacha le do bhord Arduino

Comharthaí PWM

Leis na bioráin dhigiteacha agus analógacha, ar féidir leat a úsáid ar do bhord Arduino, is féidir leat comharthaí leictreacha a fháil nó a sheoladh chun sonraí a rialú nó a fháil ó do thionscadail leictreonacha. Ina theannta sin, tá comharthaí an-suimiúla eile sa chineál seo pláta, agus sin iad na PWM, is féidir leis sin aithris a dhéanamh ar chomhartha analógach gan a bheith analógach i ndáiríre. Is é sin, is bioráin dhigiteacha iad atá in ann gníomhú ar bhealach cosúil (ní mar an gcéanna) le comhartha analógach.

Tá na cineálacha comharthaí seo an-phraiticiúil nuair nach mian leat ach comharthaí digiteacha ARD agus ÍSEAL a úsáid, is é sin, 1 nó 0, ON agus OFF, ach ba mhaith leat dul níos faide agus cur síos a dhéanamh comharthaí beagán níos casta. Mar shampla, is féidir luas a Mótar DC, nó déine solais an tsolais, le haghaidh solenoid, etc.

Córas analógach vs digiteach

Comhartha analógach vs digiteach

Is féidir ciorcaid leictreonacha a roinnt ina dhá theaghlach nó ina gcatagóir mhóra: digiteach agus analógach. Agus muid ag caint ar leictreonaic dhigiteach, táimid ag úsáid cainníochtaí le luachanna scoite, is é sin, córas dénártha arna léiriú ag comharthaí leictreacha de voltas íseal nó ardvoltais chun staid na ngiotán sin a láimhseáiltear a léirmhíniú. Ar an láimh eile, maidir le ciorcad analógach, tá cainníochtaí le luachanna leanúnacha á n-úsáid.

Is féidir teacht ar chórais dhigiteacha ar a seal iad siúd de chineál comhcheangailte agus iad siúd de chineál seicheamhach. Is é sin, is iad na cinn is luaithe iad siúd nach mbraitheann aschur an chórais ach ar staid na n-ionchur. Ar an láimh eile, sna cinn seicheamhach, cuirtear eilimintí cuimhne san áireamh, agus beidh an t-aschur ag brath ar staid reatha na n-ionchur agus an staid roimhe sin a bhí stóráilte.

I gcás analógacha níl an dá ghrúpa nó an leaganacha móra seo ann, mar is comharthaí leanúnacha iad seo a mbeidh brath orthu i gcónaí an comhartha córas reatha. Mar shampla, i gcallaire, braitheann an comhartha a sholáthraíonn tú ar an bhfuaim a theastaíonn uait a atáirgeadh. Mar an gcéanna le micreafón, a ghinfidh comhartha analógach ag brath ar an bhfuaim atá á fáil aige. Cinnte go bhfaca tú é freisin le go leor braiteoirí eile a bhfuil cur síos déanta againn orthu sa bhlag seo agus a ghníomhaíonn le comharthaí analógacha (agus dá bhrí sin, b’éigean foirmle a chruthú ionas go bhféadfaí na luachanna a ríomh nó a oiriúnú i sceitsí Arduino IDE níos déanaí ) ...

De bharr na dtréithe seo de cheann amháin agus de ghné eile tá cuid acu buntáistí agus míbhuntáistí, mar is gnách i mbeagnach gach rud. Mar shampla, is gnách go mbíonn cinn dhigiteacha níos saoire, níos gasta, níos éasca le forbairt, is féidir faisnéis a stóráil níos éasca, tá cruinneas níos mó acu, is féidir iad a chlárú, níl siad chomh leochaileach d’éifeachtaí torainn, srl. Ach tá sé fíor freisin gur féidir leat oibriú le comharthaí níos casta le analógacha.

De réir ejemplo, ní féidir le braiteoir éifeacht Halla de chineál digiteach ach láithreacht nó neamhláithreacht réimse maighnéadach in aice láimhe a bhrath. Ina áit sin, is féidir le braiteoir éifeacht Halla analógach é sin a dhéanamh agus dlús an réimse mhaighnéadaigh sin a chinneadh a bhuíochas le comhartha analógach a ghineann sé ag a aschur. Má tá a fhios agat conas an comhartha sin de voltas níos mó nó níos lú a léirmhíniú go maith, is féidir go mbeidh a fhios agat go furasta an méid sin. Samplaí eile atá agat ar an iliomad méideanna dúlra is féidir leat a thomhas go cainníochtúil le córas analógach, mar shampla teocht, am, brú, fad, fuaim, srl.

Comhartha analógach vs digiteach

É sin á rá, a comhartha analógach Sruth voltais nó leictreach a bheidh ann a athraíonn de réir ama agus go leanúnach. Dá ndéanfaí grafáil air, tonn sine minicíochta aonair a bheadh ​​sa chomhartha analógach.

Maidir leis an comhartha digiteach, is voltas í a athraíonn ar bhealach céimnithe maidir le ham. Is é sin, má léirítear é ar ghraf, beidh sé ina chomhartha céime nach n-athraíonn go leanúnach, ach athruithe ar chéimeanna nó incrimintí scoite.

Ba chóir go mbeadh a fhios agat go bhfuil ciorcaid ann le dul ó chomhartha analógach go comhartha digiteach nó a mhalairt. Iad seo tiontairí tugtar DAC (Tiontaire Digiteach-go-Analógach) agus ADC (Tiontaire Analógach-go-Digiteach) orthu. Agus tá siad an-choitianta i go leor gairis a úsáidimid inniu, mar shampla teilifís, ríomhairí, srl. In éineacht leo is féidir leat na comharthaí digiteacha a úsáideann na trealamh seo a thiontú go leibhéal leictreonach chun oibriú le forimeallach nó le codanna eile a oibríonn go analógach.

De réir ejemplo, cainteoir nó micreafón le comharthaí analógacha a oibríonn le cárta fuaime, nó cártaí grafaicí digiteacha a raibh an sliseanna RAMDAC cáiliúil acu do na calafoirt monatóra analógacha ... In Arduino úsáidtear tiontairí den chineál seo le haghaidh iliomad tionscadal, mar a fheicfimid ...

Cad é PWM?

timthriall dleachta grafach

Cé go PWM (Modhnú Leithead Pulse), nó modhnú leithead cuisle, tá bonn digiteach leis, tá cruth a chomhartha cosúil le comhartha analógach “cearnach” atá beagán. Ligeann sé trí bhíthin bíoga digiteacha an comhartha a athrú chun aithris a dhéanamh ar chóras analógach mar a dúirt mé cheana. Déanta na fírinne, má fhéachann tú ar an ainm, tugann sé leideanna duit cheana féin ar a ndéanann sé, trí leithead na bíoga digiteacha.

Tá sé seo tairbheach do Arduino ós rud é go bhfuil go leor uathoibríochtaí nó comhpháirteanna leictreonacha ann ar féidir leat a chur le do thionscadail agus go nach bhfuil in ann fíorchomhartha analógach a sholáthar, ach úsáideann siad an PWM seo chun oibriú. Ní féidir leo comhartha analógach scoite a úsáid, is é sin, a théann chuig geansaithe voltais chun a bheith cosúil le comhartha digiteach. Is é an rud is féidir leo a dhéanamh ná aschur digiteach -Vcc nó Vcc de chineál digiteach a úsáid chun an comhartha aisteach seo a ghiniúint ...

Dá bhrí sin, is cineál "cleas" é PWM ar féidir le Arduino agus córais eile idirghníomhú leis an gcineál seo comharthaí a níl siad analógach go leor ná níl siad digiteach traidisiúnta. Chun é a dhéanamh indéanta, coimeádann siad aschur digiteach gníomhach ar feadh tréimhse faoi leith nó saor, ag brath ar an spéis i gcónaí. Tá sé seo i bhfad ón rud a bheadh ​​ina chlog digiteach nó comhartha cód dénártha, a bhfuil an leithead céanna ag a gcuid bíoga.

I do thionscadail le Arduino is féidir leat an cineál seo comharthaí PWM a sheiceáil ina gcoinnítear minicíocht leanúnach truicear bíge le himeacht ama, ach tá leithead na bíoga seo éagsúil. Déanta na fírinne, tugtar Timthriall Dleachta air nuair a choinnítear comhartha ard maidir le hiomláine an timthrialla. Dá bhrí sin, tugtar Timthriall Dleachta i%.

Cuimhnigh nach n-oibríonn tú i PWM mar atá i gcomhartha analógach, idir roinnt luachanna voltais agus luainíonn sé eatarthu. I gcás PWM is comhartha cearnach é sa stíl dhigiteach agus arb é a luach uasta Vcc. Mar shampla, má oibríonn tú le soláthar cumhachta 3V, is féidir leat bíoga 3V nó 0V a thabhairt, ach ní 1V nó aon luach idirmheánach eile mar a tharlódh i bhfíor-analógach. Is é an rud a bheadh ​​éagsúil sa chás sin ná leithead na bíge, ar féidir linn 30% a choinneáil ag an luach ard Vcc sin, nó 60% chun níos mó cumhachta a thabhairt dó, srl.

Ach bí cúramach, mar má thacaíonn feiste le teorainn Vcc agus má sháraítear í le PWM, féadfar damáiste a dhéanamh di. Mar sin bheadh ​​sé riachtanach i gcónaí luachanna na mbileog sonraí a sholáthraíonn na déantúsóirí a urramú. Chomh maith leis sin, i roinnt feistí ar nós mótair DC, athsheachadáin, leictreamaighnéad, srl., Má aistarraingítear voltas tar éis Timthriall Dleachta, féadann ualaí ionduchtacha damáiste a dhéanamh. Sin é an fáth go bhfuil an cosaintí tráthúil.

PWM ar Arduino

Bus Arduino I2C

Anois go bhfuil a fhios agat conas a oibríonn sé, déanaimis cás sonrach PWM a fheiceáil laistigh de dhomhan Arduino ...

PWM: pinout ar Arduino

Ar bhoird Arduino is féidir leat roinnt bioráin a fháil a chuireann PWM crua-earraí i bhfeidhm. Is féidir leat iad a aithint ar an PCB féin toisc go bhfuil a siombail ~ (ceann beag) mar aon leis an uimhriú bioráin. D’fhéadfaí é a dhéanamh freisin le bogearraí i gcód Arduino, ach dhéanfadh sé sin an micrea-rialaitheoir a ró-ualach le hobair, rud áiféiseach nuair is féidir é a dhéanamh go dúchasach agus le crua-earraí ...

  • Arduino UNO, Mini agus Nano- Tá 6 aschur PWM 8-giotán agat ar bhioráin 3, 5, 6, 9, 10, agus 11, a mbeidh an ~ sin ceart acu os comhair na huimhreach.
  • Arduino Mega- Ar an mbord Arduino is cumhachtaí seo tá 15 aschur PWM 8-giotán agat. Tá siad ar phionnaí 2 trí 13 agus 44 trí 46.
  • Arduino dlite: sa chás seo tá 13 aschur PWM 8-giotán. Tá siad ar bhioráin 2 go 13, móide dhá aschur analógacha eile atá scoite amach ag DAC le taifeach 12-giotán.

Nuair a labhraíonn tú faoi rún de 8 ngiotán nó 12 ghiotán, srl., Sa chineál seo d’aschuir PWM, tá tú ag tagairt don seomra le haghaidh ainlithe atá agat. Le Tá 8 leibhéal ag 256 ngiotán Is féidir leat a bheith éagsúil eatarthu, agus téann na 12 ghiotán suas go 4096 leibhéal.

Rialú le Timirí

Le haghaidh rialú crua-earraí PWM, Arduino úsáidfidh na lasc ama ar a shon. Is féidir le gach Uaineadóir reatha 2 nó 3 aschur PWM a sheirbheáil. Comhlánaíonn clár comparáide do gach aschur an córas seo ionas go n-athraítear staid nó luach an aschuir chun na Timthriallta Dleachta sin a stopadh nuair a shroicheann sé luach an chláir. Cé go bhfuil dhá aschur faoi rialú an Uaineadóra chéanna, féadann Timthriallta Dleachta éagsúla a bheith ag an dá cheann, cé go roinneann siad an mhinicíocht chéanna.

I gcás na Timirí a bhaineann le gach bioráin PWM, beidh éagsúlacht ann ag brath ar an gcineál bord Arduino go bhfuil agat:

  • Arduino UNO, Mini agus Nano:
    • Uaineadóir0 - 5 agus 6
    • Uaineadóir1 - 9 agus 10
    • Uaineadóir2 - 3 agus 11
  • Arduino Mega:
    • Uaineadóir0 - 4 agus 13
    • Uaineadóir1 - 11 agus 12
    • Uaineadóir2 - 9 agus 10
    • Uaineadóir3 - 2, 3 agus 5
    • Uaineadóir4 - 6, 7 agus 8
    • Uaineadóir5 - 44, 45 agus 46

Roinnfidh an clár réamhcheaptha an t-am le slánuimhir agus déanann an t-amadóir an chuid eile chun gach ceann de na haschuir PWM gaolmhara a rialú. Is féidir an luach clárlainne a mhodhnú an mhinicíocht a athrú. Tá an minicíochtaí Beidh siad difriúil freisin ag brath ar an Uaineadóir agus an pláta:

  • Arduino UNO, Mini agus Nano:
    • Timer0: ceadaíonn 1, 8, 64, 256 agus 1024 a prescaling. Is é 62.5 Khz an minicíocht.
    • Uaineadóir1: le prescaled 1, 8, 64, 256 agus 1024. Le minicíocht 31.25 Khz.
    • Uaineadóir2: cothrom le Timer1, ní chuireann sé ach prescaling 32 agus 128 sa bhreis ar na cinn roimhe seo.
  • Arduino Mega:
    • Timer0, 1, 2: mar an gcéanna thuas.
    • Timer3, 4, agus 5: le minicíocht 31.25 Khz agus prescaled de 1, 8, 64, 256 agus 1024.

Neamh-chomhoiriúnachtaí agus coimhlintí

An Uaineadóir ní amháin don fheidhm sin a bhaineann leis na haschuir, in úsáid ag daoine eile freisin. Dá bhrí sin, má tá feidhm eile á húsáid acu, ní mór duit rogha a dhéanamh idir ceann amháin nó ceann eile, ní féidir leat a bheith ag úsáid an dá cheann ag an am céanna. Mar shampla, seo cuid de na neamh-chomhoiriúnachtaí is féidir leat a fháil i do thionscadail:

  • Leabharlann Servo: Nuair a úsáideann tú mótair servo, baineann sé dianúsáid as Timers, mar sin d’fhéadfadh sé coinbhleachtaí a ghiniúint. Úsáid Timer1 go sonrach le haghaidh UNO, Nano agus Mini, is é sin, ní féidir leat bioráin 9 agus 10 a úsáid agus tú ag úsáid sceitse leis an leabharlann sin. I Mega beidh sé ag brath ar líon na servos ...
  • SPI: Má úsáidtear cumarsáid SPI ar bhord Arduino, tá bioráin 11 á úsáid don fheidhm MOSI. Sin é an fáth nach féidir an bioráin PWM sin a úsáid.
  • Tone: úsáideann an fheidhm seo Timer2 chun oibriú. Mar sin má úsáidtear é, tá bioráin 3 agus 11 (nó 9 agus 10 do Mega) á n-úsáid agat.

Tástáil phraiticiúil le Arduino

Arduino PWM scéimreach le LED

Más mian leat a fheiceáil ar an láthair conas a oibríonn PWM ar Arduino, is é an rud is fearr is féidir leat a dhéanamh ná luaidhe tomhais tomhais a voltasmhéadar nó ilmhéadar (i bhfeidhm chun voltas a thomhas) idir an bioráin PWM a roghnaigh tú a úsáid agus bioráin talún nó GND an bhoird Arduino. Ar an mbealach seo, ar scáileán na feiste tomhais beidh tú in ann a fheiceáil conas atá an voltas ag athrú le haschur atá digiteach a bhuíochas leis an cleas PWM seo.

Is féidir leat stiúir a chur in ionad an voltaismhéadair / ilmhéadair le feiceáil conas a athraíonn déine an tsolais, le mótar DC, nó le haon eilimint eile a theastaíonn uait. Rinne mé é a shimpliú sa léaráid le Fritzing le LED gan níos mó, ach tá a fhios agam gur féidir leis leideanna ilmhéadair a léiriú freisin ...

Má úsáideann tú stiúir, cuimhnigh ar an bhfriotaíocht ag an gcatóid agus ag GND.

go an cód foinse Chun micrea-rialtóir bhord Arduino a rialú chun go n-oibreoidh gach rud, ba chóir duit é seo a chur isteach in Arduino IDE (sa chás seo bhain mé úsáid as bioráin PWM 6 de Arduino UNO):

const int analogOutPin = 6;
byte outputValue = 0;  
 
void setup()
{  
   Serial.begin(9600);        
   pinMode(ledPIN , OUTPUT); 
 
   bitSet(DDRB, 5);       // LED o voltímetro
   bitSet(PCICR, PCIE0);       
   bitSet(PCMSK0, PCINT3);     
}
 
void loop() 
{
   if (Serial.available()>0)  
   {
      if(outputValue >= '0' && outputValue <= '9')
      {
         outputValue = Serial.read();   // Leemos la opción
         outputValue -= '0';      // Restamos '0' para convertir a un número
         outputValue *= 25;      // Multiplicamos x25 para pasar a una escala 0 a 250
         analogWrite(ledPIN , outputValue);
      }
   }
}  
 
ISR(PCINT0_vect)
{
   if(bitRead(PINB, 3))
   { 
      bitSet(PORTB, 5);   // LED on 
   }
   else
   { 
      bitClear(PORTB, 5); // LED off  
   } 
} 
Molaim duit imirt leis na luachanna agus a fheiceáil na torthaí ar an solas nó an voltasmhéadar. Is féidir leis an gclár luachanna a fháil ó 0 go 9 ionas go bhfeicfidh tú an chaoi a n-athraíonn gach rud. Le haghaidh tuilleadh faisnéise, molaim duit an cúrsa arduino atá againn le híoslódáil saor in aisce ...

Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

A comment, fág mise

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.

  1.   Jose a dúirt

    Dia duit lá maith. Ar dtús báire ba mhaith liom buíochas a ghabháil leat as an am atá tiomnaithe don mhíniú seo ar an gceann is nua.
    Ba mhaith liom ceist a chur ort. Táim ag iarraidh an cód a rith ar aithriseoir proteus 8 do Arguino Mega. Ceanglaím voltasmhéadar le bioráin 6, tá Proteus ceangailte le port srathach, ach níl a fhios agam conas nó cad atá le hathrú ionas go mbeidh voltais éagsúla aschuir. Bhí orm mionathruithe a dhéanamh ar an gcód chun é a chur le chéile. Go raibh míle maith agat as do chuidiú