PWM: kwaikwayon fil na analog tare da allon Arduino

Alamar PWM

Tare da keɓaɓɓun dijital da analog ɗin, waɗanda zaku iya amfani dasu akan allon Arduino, kuna iya karɓa ko aika siginonin lantarki don sarrafawa ko samun bayanai daga ayyukan lantarki. Kari akan haka, akwai wasu sakonni masu matukar ban sha'awa a cikin wannan nau'in farantin, kuma waɗannan sune - PWM, wanda zai iya yin kwaikwayon siginar analog ba tare da ainihin analog ba. Wato, su fil na dijital ne waɗanda zasu iya aiki iri ɗaya (ba iri ɗaya ba) azaman siginar analog.

Waɗannan nau'ikan sigina suna da amfani sosai lokacin da ba kawai kuna son amfani da sigina na HIGH da LOW ba, wato, 1 ko 0, ON da KASHE, amma kuna so ku ci gaba da bayyanawa da ɗan rikitarwa sigina. Misali, yana yiwuwa a tsara saurin a Motar DC, ko tsananin hasken haske, na kayan wutan lantarki, dss.

Analog vs tsarin dijital

Analog vs siginar dijital

Za'a iya raba da'irorin lantarki zuwa manyan dangi ko rukunoni biyu: dijital da analog. Lokacin da muke magana game da kayan lantarki, muna amfani da adadi mai yawa tare da ƙididdiga masu mahimmanci, ma'ana, tsarin binary wanda wakiltar siginonin lantarki na ƙarami ko babban ƙarfin lantarki yake wakilta don fassara yanayin waɗancan ragojin da aka sarrafa. A gefe guda, lokacin da analog ɗin analog ne, ana amfani da adadi tare da ƙimar ci gaba.

A tsakanin tsarin dijital ana iya samun bi da bi na nau'ikan hadewa da wadanda suke a jere. Wato, na farko sune wadanda abinda ke fitowa daga tsarin kawai ya dogara da yanayin abubuwan shigarwa. A gefe guda kuma, a cikin waɗanda ake bi, abubuwa na ƙwaƙwalwa suna haɗe, kuma fitowar zai dogara da yanayin shigowar abubuwan shigarwa da kuma yanayin da ya gabata.

Dangane da analogs babu waɗannan manyan ƙungiyoyi biyu ko bambance-bambancen karatu, tunda anan suna ci gaba da sigina waɗanda koyaushe zasu dogara da su sigina tsarin yanzu. Misali, a cikin lasifika, siginar da aka kawo ta ya dogara da sautin da kake son haifuwa. Haka nan tare da makirufo, wanda zai samar da siginar analog dangane da sautin da yake karɓa. Tabbas kun kuma gan shi tare da wasu na'urori masu auna firikwensin da muka bayyana a cikin wannan rukunin yanar gizon kuma suna aiki tare da siginar analog (sabili da haka, dole ne a ƙirƙiri wata dabara ta yadda daga baya za a iya lissafawa ko kuma daidaita yanayin a cikin zane-zanen IDE na IDE ) ...

Waɗannan halayen ɗaya da ɗayan suna sa wasu suna da nasu fa'ida da rashin amfani, kamar yadda aka saba a kusan komai. Misali, na dijital sun zama masu rahusa, da sauri, da sauƙin ci gaba, ana iya adana bayanai cikin sauƙi, suna da daidaito mafi girma, ana iya tsara su, ba su da sauƙi ga tasirin amo, da dai sauransu. Amma kuma gaskiya ne cewa tare da analogs zaku iya aiki tare da sigina masu rikitarwa.

de amfani, Na'urar haska tasirin tasirin Hall na dijital na iya gano gaban ko rashi na magnetic filin da ke kusa. Madadin haka, na'urar firikwensin tasirin tasirin analog na iya yin hakan kuma ya ƙayyade ƙimar abin da aka faɗi na magnetic saboda siginar analog ɗin da take samarwa yayin fitarta. Sanin yadda zaka fassara wannan siginar na ƙarfin ƙarfin ƙarami ko ƙarami da kyau, zaka iya sanin wannan girman. Sauran misalai waɗanda kuke da su a ɗumbin girman yanayi waɗanda zaku iya auna su da yawa tare da tsarin analog, kamar yanayin zafi, lokaci, matsi, nesa, sauti, da dai sauransu.

Analog vs siginar dijital

Da aka ce, a siginar analog Zai zama ƙarfin lantarki ko na lantarki wanda ya sha bamban da lokaci da kuma ci gaba. Idan aka ƙaddara akan zane, siginar analog zai zama igiyar ruwa ba tare da sau ɗaya ba.

Amma ga sigina na dijital, ƙarfin lantarki ne wanda ya banbanta a mataki-mataki dangane da lokaci. Wancan ne, idan an wakilta shi a kan jadawali, zai zama siginar mataki wanda ba zai iya ci gaba da ci gaba ba, amma canje-canje a matakai ko ƙari na ƙwarai.

Ya kamata ku sani cewa akwai da'irori don tafiya daga siginar analog zuwa na dijital ko akasin haka. Wadannan masu juyawa an san su da DAC (Mai Musanya Digital-to-Analog) da ADC (Analog-to-Digital Converter). Kuma suna da yawa sosai a cikin na'urori da yawa da muke amfani dasu a yau, kamar TV, kwamfuta, da sauransu. Tare da su zaku iya canza siginar dijital da waɗannan kayan aikin ke amfani da su zuwa matakin lantarki don aiki tare da wasu kayan haɓaka ko sassan da ke aiki a cikin analog.

de amfani, mai magana ko makirufo tare da siginar analog wanda ke aiki tare da katin sauti, ko katunan zane na dijital waɗanda ke da sanannen gungun RAMDAC don tashoshin saka idanu analog ... A Arduino ana amfani da irin waɗannan masu sauya don ayyukan da yawa, kamar yadda za mu gani ...

Menene PWM?

aikin zagaye na hoto

Ko da yake - PWM (Parfin Pulse-Width Modulation), ko kuma yanayin saurin bugun jini, yana da tushe na dijital, fasalin siginsa yana kama da sigar analog da ɗan alama "murabba'i". Yana ba da izini ta hanyar bugun jini na dijital don bambanta sigina don kwaikwayon tsarin analog kamar yadda na riga nayi sharhi a baya. A zahiri, idan kuka kalli sunan, tuni ya baku alamun abin da yake yi, ta hanyar faɗin bugun dijital.

Wannan yana da amfani ga Arduino tunda akwai abubuwa da yawa na atomatik ko kayan lantarki waɗanda zaku iya ƙarawa zuwa ayyukanku da wannan ba za su iya samar da siginar analog na gaskiya ba, amma suna amfani da wannan PWM don aiki. Ba kuma za su iya amfani da siginar analog da aka ɓata ba, wato, wanda ke zuwa tsalle-tsalle don kama da dijital. Abin da zasu iya yi shi ne amfani da fitowar dijital -Vcc ko Vcc na nau'in dijital don samar da wannan sigar ta musamman ...

Sabili da haka, PWM wani nau'in "wayo" ne wanda Arduino da sauran tsarin zasu iya hulɗa da wannan nau'in alamun basa zama cikakkun kayan aikin analog ko dijital na al'ada. Don samun damar, suna adana fitowar dijital aiki na takamaiman lokaci ko a kashe, gwargwadon sha'awa a kowane lokaci. Wannan ya yi nesa da abin da zai zama agogon dijital ko siginar lambar binary, wanda bugun jini yake da faɗi ɗaya.

A cikin ayyukanku tare da Arduino zaku iya bincika wannan nau'in siginar PWM wanda a cikin sa ana kiyaye yawan bugun bugun jini akai-akai, amma fadin wadannan bugun ya banbanta. A zahiri, ana kiran Duty Cycle lokacin da aka sanya sigina a sama dangane da jimlar sake zagayowar. Sabili da haka, ana ba da Hawan Wuri a cikin%.

Ka tuna cewa a cikin PWM ba ku aiki kamar a cikin siginar analog, tsakanin ƙimar ƙarfin lantarki daban-daban kuma yana canzawa tsakanin su. A cikin yanayin PWM alama ce ta murabba'i a cikin salon dijital kuma wanda mafi girman darajarta ita ce Vcc. Misali, idan kayi aiki da wutan lantarki 3V, zaka iya bada bugun jini 3V ko 0V, amma ba 1V ko wani matsakaicin darajar kamar yadda zai faru a cikin ainihin analog ba. Abin da zai bambanta a wannan yanayin shi ne faɗin bugun jini, wanda za mu iya kiyaye 30% a wannan ƙimar ta Vcc, ko 60% don ba ta ƙarin ƙarfi, da sauransu.

Amma a kiyaye, domin idan na'urar tana tallafawa iyakokin Vcc kuma an wuce ta da PWM tana iya lalacewa. Don haka koyaushe ya zama dole a girmama kimar bayanan bayanan da masana'antun suka samar. Hakanan, a cikin wasu na'urori kamar su motocin DC, zango, electromagnets, da sauransu, cire ƙarfin lantarki bayan Duty Cycle na iya nufin cewa abubuwan shigar ciki na iya haifar da lalacewa. Abin da ya sa kenan kariya a kan kari.

PWM akan Arduino

Motar Arduino I2C

Yanzu da kun san yadda yake aiki, bari mu ga takamaiman lamarin PWM a cikin duniyar Arduino ...

PWM: pinout akan Arduino

A kan allon Arduino zaka iya samun fil da yawa waɗanda ke aiwatar da PWM na kayan aiki. Kuna iya gano su akan PCB kanta saboda suna da alama ~ (ƙaramin kai) tare da lambar fil. Hakanan za'a iya aiwatar dashi ta hanyar software a cikin lambar Arduino, amma hakan zai iya mamaye microcontroller da aiki, wani abu mara kyau lokacin da za'a iya aiwatar dashi ta asali da kayan aiki ...

  • Arduino UNO, Mini da Nano- Kuna da abubuwan PWM guda 6 8-bit akan fil 3, 5, 6, 9, 10, da 11, wanda zai sami wannan ~ dama a gaban lambar.
  • Mega Arduino- A kan wannan jirgin Arduino mafi ƙarfi kuna da samfuran PWM 15 8-bit. Suna kan fil 2 zuwa 13 da 44 zuwa 46.
  • Arduino Saboda: a wannan yanayin akwai samfuran PWM 13 8-bit. Suna kan fil 2 zuwa 13, gami da wasu kayan aikin analog guda biyu waɗanda DAC ta ƙayyade tare da ƙudurin 12-bit.

Lokacin da kake magana game da ƙuduri na rago 8 ko 12, da dai sauransu, a cikin irin waɗannan abubuwan PWM, ana nufin ɗakin don motsawar da kake da shi. Tare da 8 ragowa suna da matakan 256 Tsakanin abin da zaku iya bambanta, kuma ragin 12 ya haura zuwa matakan 4096.

Sarrafawa tare da Lokaci

Don sarrafa PWM na kayan aiki, Arduino zai yi amfani da masu ƙidayar lokaci domin shi. Kowane Mai eridayar lokaci yanzu zai iya ba da sakamako 2 PWM. Rijistar kwatantawa ga kowane fitarwa ya cika wannan tsarin don idan lokacin ya kai darajar rijistar, ana canza jiha ko ƙimar abin fitarwa don dakatar da waɗancan Hawan. Kodayake akwai samfuran abubuwa guda biyu masu sarrafawa daga lokaci guda, dukansu zasu iya samun clesawainiyar Ayyuka daban-daban, kodayake suna da mita iri ɗaya.

Dangane da Lokutan da ke haɗe da kowane fil ɗin PWM, zai bambanta ya danganta da nau'in jirgin Arduino cewa kana da:

  • Arduino UNO, Mini da Nano:
    • Mai ƙidayar lokaci 0 - 5 da 6
    • Mai ƙidayar lokaci 1 - 9 da 10
    • Mai ƙidayar lokaci 2 - 3 da 11
  • Mega Arduino:
    • Mai ƙidayar lokaci 0 - 4 da 13
    • Mai ƙidayar lokaci 1 - 11 da 12
    • Mai ƙidayar lokaci 2 - 9 da 10
    • Mai ƙidayar lokaci 3 - 2, 3 da 5
    • Mai ƙidayar lokaci 4 - 6, 7 da 8
    • Mai ƙidayar lokaci 5 - 44, 45 da 46

Rijistar da aka riga aka ƙayyade zata raba lokaci ta hanyar adadi kuma Mai ƙidayar lokaci yayi sauran don sarrafa kowane abubuwan haɗin PWM masu alaƙa. Gyara ƙimar rajista na iya canza mitar. Da mitoci Hakanan zasu zama daban dangane da Mai ƙidayar lokaci da farantin:

  • Arduino UNO, Mini da Nano:
    • Mai ƙayyadadden lokaci0: yana bada izinin ƙaddamar da 1, 8, 64, 256 da 1024. Mitar 62.5 Khz ne.
    • Mai ƙidayar lokaci 1: tare da saitattu na 1, 8, 64, 256 da 1024. Tare da yawan 31.25 Khz.
    • Mai ƙidayar lokaci biyu: daidai yake da Timer2, kawai yana ƙara ƙimar 1 da 32 ban da waɗanda suka gabata.
  • Mega Arduino:
    • Mai ƙidayar lokaci0, 1, 2: daidai yake da na sama.
    • Lokaci3, 4, da 5: tare da mitar 31.25 Khz kuma an ƙaddara 1, 8, 64, 256 da 1024.

Rashin jituwa da rikice-rikice

Mai ƙidayar lokaci hade da kayan aikin ba kawai don aikin ba, wasu ma suna amfani dashi. Saboda haka, idan wani aiki yana amfani da su, dole ne ku zaɓi tsakanin ɗayan ko ɗayan, ba za ku iya amfani da duka a lokaci guda ba. Misali, waɗannan wasu abubuwan rashin daidaituwa ne da zaku iya samu a ayyukanku:

  • Sabbin laburare: Lokacin da kake amfani da matattarar iska, yana amfani da Timan Lokaci sosai, don haka yana iya haifar da rikice-rikice. Musamman yi amfani da Timer1 don UNO, Nano da Mini, ma'ana, ba za ku iya amfani da fil 9 da 10 yayin da kuke amfani da zane tare da wannan ɗakin karatu ba. A cikin Mega zai dogara ne akan adadin servos ...
  • SPI: Idan ana amfani da sadarwa na SPI akan allon Arduino, ana amfani da pin 11 don aikin MOSI. Abin da ya sa ba za a iya amfani da wannan fil ɗin PWM ba.
  • Sautin: wannan aikin yana amfani da Timer2 don aiki. Don haka idan aka yi amfani da shi, kuna yin fil 3 da 11 (ko 9 da 10 don Mega) marasa amfani.

Gwajin-hannu tare da Arduino

Arduino PWM mai tsari tare da LED

Idan kana son ganin yadda PWM ke aiki akan Arduino akan yanar gizo, mafi kyawun abin da zaka iya yi shine haɗa matakan auna na voltmeter ko multimeter (a cikin aiki don auna ƙarfin lantarki) tsakanin fil ɗin PWM da kuka zaɓa don amfani da fil ɗin ƙasa ko GND na jirgin Arduino. Ta wannan hanyar, akan allon na'urar auna za ku iya ganin yadda ƙarfin lantarki ke canzawa tare da fitowar da ke dijital ta hanyar wannan dabarar PWM.

Zaka iya maye gurbin voltmeter / multimeter tare da LED don ganin yadda ƙarfin hasken ya bambanta, tare da motar DC, ko tare da duk wani abu da kake so. Na sauƙaƙe shi a cikin zane tare da Fritzing tare da LED ba tare da ƙari ba, amma ku sani cewa yana iya wakiltar ƙirar multimeter ...

Idan kayi amfani da LED, ka tuna juriya a cathode da GND.

para lambar tushe Don sarrafa microcontroller akan jirgin Arduino don yin komai yayi aiki, ya kamata ka saka wannan a cikin Arduino IDE (a wannan yanayin nayi amfani da PWM pin 6 na 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  
   } 
} 
Ina baku shawara kuyi wasa da dabi'u ku gani sakamakon akan haske ko voltmeter. Shirin na iya karɓar ƙimomi daga 0 zuwa 9 don haka zaku ga yadda komai ya bambanta. Don ƙarin bayani, Ina ba ku shawara hanya ta arduino cewa muna da cikin kyauta kyauta ...

Sharhi, bar naka

Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.

  1.   Jose m

    Barka da rana. Da farko dai ina so in yi muku godiya game da lokacin sadaukar da kai ga wannan bayani ga sabo.
    Ina so in yi muku tambaya. Ina ƙoƙarin gudanar da lambar a kan emus na proteus 8 don Arguino Mega. Ina haɗa voltmeter don fil 6, Proteus an haɗa shi da tashar ruwa, amma ban san yadda ko menene zai bambanta ba don fitarwa daban-daban. Dole ne in yi ƙananan gyare-gyare ga lambar don sanya ta tattara. Na gode sosai da taimakonku