Talaan ng mga Nilalaman:

MCP41HVX1 Digital Potentiometer para sa Arduino: 10 Hakbang (na may Mga Larawan)
MCP41HVX1 Digital Potentiometer para sa Arduino: 10 Hakbang (na may Mga Larawan)

Video: MCP41HVX1 Digital Potentiometer para sa Arduino: 10 Hakbang (na may Mga Larawan)

Video: MCP41HVX1 Digital Potentiometer para sa Arduino: 10 Hakbang (na may Mga Larawan)
Video: Этот компонент может управлять множеством цепей! Руководство по цифровому потенциометру! ЭБ#51 2024, Hulyo
Anonim
MCP41HVX1 Digital Potentiometer para sa Arduino
MCP41HVX1 Digital Potentiometer para sa Arduino

Ang pamilya ng MCP41HVX1 ng mga digital potentiometers (aka DigiPots) ay mga aparato na ginagaya ang pag-andar ng isang analog potentiometer at kinokontrol sa pamamagitan ng SPI. Ang isang halimbawang aplikasyon ay papalitan ang volume knob sa iyong stereo ng isang DigiPot na kinokontrol ng isang Arduino. Ipinapalagay nito na ang kontrol ng dami sa iyong stereo ay isang potentiometer at hindi isang rotary encoder.

Ang MCP41HVX1 ay medyo kakaiba pagkatapos ng iba pang DigiPots na mayroon silang isang split design na riles. Nangangahulugan ito na habang ang DigiPot mismo ay maaaring makontrol ng output boltahe ng isang Arduino, ang signal na naipasa sa pamamagitan ng resistor network ay gumagana na may mas malawak na saklaw ng boltahe (hanggang sa 36 volts). Karamihan sa mga DigiPots na maaaring makontrol ng 5 volts ay limitado sa 5 volts sa buong resistor network na nagbabawal sa kanilang paggamit para sa pag-retrofit ng isang mayroon nang circuit na nagpapatakbo sa mas mataas na boltahe tulad ng kung ano ang mahahanap mo sa isang kotse o bangka.

Ang pamilya MCP41HVX1 ay binubuo ng mga sumusunod na chips:

  • MCP41HV31-104E / ST - 100k ohm (7 bits)
  • MCP41HV31-503E / ST - 50k ohm (7 bits)
  • MCP41HV31-103E / ST - 10k ohm (7 bits)
  • MCP41HV31-502E / ST - 5k ohm (7 bits)
  • MCP41HV31-103E / MQ - 10k ohm (7 bits)
  • MCP41HV51-104E / ST - 100k ohm (8 bits)
  • MCP41HV51-503E / ST - 50k ohm (8 bits)
  • MCP41HV51T-503E / ST - 50k ohm (8 bits)
  • MCP41HV51-103E / ST - 10k ohm (8 bits)
  • MCP41HV51-502E / ST - 5k ohm (8 bits)

Pinapayagan ng 7 bit chips ang 128 mga hakbang sa resistor network at pinapayagan ng 8 bit chips ang 256 na mga hakbang sa resistor network. Nangangahulugan ito na ang 8 bit chips ay nagbibigay-daan para sa dalawang beses na maraming mga halaga ng paglaban mula sa potensyomiter.

Mga gamit

  • Piliin ang naaangkop na MCP41HVX1 chip mula sa listahan sa itaas. Ang pipiliin mong maliit na tilad ay batay sa saklaw ng paglaban na kinakailangan para sa iyong aplikasyon. Ang Instructable na ito ay batay sa mga bersyon ng package ng TSSOP 14 ng chip kaya upang sundin kasama ang gabay na ito pumili ng anumang maliit na tilad sa listahan maliban sa MCP41HV31-103E / MQ na isang QFN package. Inirerekumenda na makakuha ng ilang dagdag na chips tulad ng nakatagpo ako ng isang hindi maganda at ang mga ito ay mura. Inorder ko ang sa akin mula sa Digi-Key.
  • Pangalawang supply ng kuryente DC na mula 10 hanggang 36 volts. Sa aking halimbawa gumagamit ako ng isang 17 volt wall wart DC power supply mula sa aking kahon ng mga dating power supply.
  • Paghihinang na pagkilos ng bagay
  • Panghinang
  • Panghinang
  • Mga tweeter at / o palito ng ngipin
  • TSSOP 14 pin breakout board - Amazon - QLOUNI 40pcs PCB Proto Boards SMD to DIP Adapter Plate Converter TQFP (32 44 48 64 84 100) SOP SSOP TSSOP 8 10 14 16 20 23 24 28 (Assortment of size. Maraming magagamit para sa maraming mga proyekto)
  • Quantify ng 2 - 7 pin header - Amazon - DEPEPE 30 Pcs 40 Pin 2.54mm Mga Lalaki at Babae na Pin Header para sa Arduino Prototype Shield - (Gupitin sa laki na kinakailangan. Maraming sa pakete para sa maraming mga proyekto)
  • Arduino Uno - kung wala ka, iminumungkahi kong kumuha ng isang opisyal na lupon. Nagkaroon ako ng halo-halong swerte sa mga hindi opisyal na bersyon. Digi-Key - Arduino Uno
  • Multi-meter na maaaring masukat ang paglaban at suriin din ang pagpapatuloy
  • Jumper wires
  • Breadboard
  • Lubhang inirekomenda ngunit hindi ganap na kinakailangan ay isang hands free magnifier dahil ang TSSOP chips ay napakaliit. Kakailanganin mo ang parehong mga kamay para sa paghihinang at pagsubok sa multi-meter. Gumagamit ako ng isang pares ng Harbour Freight 3x Clip-On Magnifiers sa tuktok ng aking mga reseta na baso at isang libreng nakatayo na binibigkas na magnifying glass. Ang iba pang mga pagpipilian ay isang pares ng mga murang mambabasa mula sa tindahan ng diskwento o dolyar. Maaari mo ring isuot ang mga mambabasa sa iyong mga baso ng reseta o makakuha ng dalawang pares ng mga mambabasa (isa sa tuktok ng iba pa) depende sa kung gaano kabuti (o masama) ang iyong pangitain. Kung dumoble ka sa mga baso maging maingat dahil ang iyong saklaw ng paningin ay magiging napaka limitado kaya siguraduhing alisin ang mga ito bago gumawa ng iba pa. Maging maingat din sa paghihinang.
  • Ang isa pang item na hindi kinakailangan ngunit lubos na inirerekomenda ay ang Harbour Freight Helping Hands. Ang mga ito ay mga clip ng buaya na nakakabit sa isang metal base. Magagamit ang mga ito mula sa maraming iba pang mga vendor sa internet pati na rin sa ilalim ng iba't ibang mga pangalan ng tatak. Ang mga ito ay napaka-kapaki-pakinabang kapag paghihinang ng maliit na tilad papunta sa breakout board.

Hakbang 1: Pag-solder ng TSSOP Chip sa isang Breakout Board

Image
Image
Paghinang ng TSSOP Chip sa isang Breakout Board
Paghinang ng TSSOP Chip sa isang Breakout Board
Paghinang ng TSSOP Chip sa isang Breakout Board
Paghinang ng TSSOP Chip sa isang Breakout Board

Ang TSSOP chip ay kailangang solder sa isang breakout board upang maaari mo itong magamit sa isang breadboard o direkta sa mga DuPont jumper. Para sa gawaing prototyping sila ay masyadong maliit upang gumana nang direkta.

Dahil sa kanilang maliit na sukat, ang paghihinang ng TSSOP chip ay maaaring ang pinaka-mapaghamong bahagi ng proyektong ito ngunit alam ang trick sa paggawa nito ginagawa itong isang gawain na maaaring magawa ng sinuman. Mayroong maraming mga diskarte, ang isa sa ibaba ay ang ginawa ko.

Ang diskarte ay ang daloy ng solder sa mga bakas ng breakout board muna.

  • Huwag ilagay ang maliit na maliit na tilad sa breakout board hanggang sa mautusan.
  • Ang unang bagay na dapat gawin ay maglagay ng isang mapagbigay na halaga ng pagkilos ng bagay sa breakout board.
  • Susunod, gamit ang iyong soldering iron na nagpainit ng ilang panghinang at dinadaloy ito sa mga bakas.
  • Maglagay ng mas maraming pagkilos ng bagay sa tuktok ng panghinang na dumaloy ka sa mga bakas pati na rin sa ilalim ng mga binti ng maliit na tilad.
  • Ilagay ang maliit na tilad sa tuktok ng mga bakas kung saan inilagay mo lamang ang panghinang at pagkilos ng bagay. Gumagawa ang mga tweets o isang palito para sa mahusay na mga tool para sa tumpak na pagtatakda ng maliit na tilad sa lugar. Tiyaking ihanay nang maayos ang maliit na tilad upang ang lahat ng mga pin ay direkta sa itaas ng mga bakas. Pantayin ang isa sa maliit na tilad na may pagmamarka para sa isang isa sa break out board.
  • Gamit ang iyong panghinang na iron init ang isa sa mga pin sa dulo ng maliit na tilad (alinman sa pin 1, 7, 8, o 14) na pinindot ito sa bakas. Ang solder na dati mong inilapat ay matutunaw at dumadaloy sa paligid ng pin.

Panoorin ang video sa hakbang na ito upang makita ang isang pagpapakita kung paano maghinang ng maliit na tilad sa breakout board. Ang isang mungkahi na mayroon ako na naiiba mula sa video ay na pagkatapos mong solder ang unang pin stop at suriin muli ang pagkakahanay ng buong chip upang matiyak na ang lahat ng mga pin ay nasa tuktok pa rin ng mga bakas. Kung off ka ng kaunti madali itong iwasto sa puntong ito. Kapag komportable ka na ang lahat ay mukhang maganda, maghinang ng isa pang pin sa kabaligtaran na dulo ng maliit na tilad at suriin muli ang pagkakahanay. Kung mukhang maayos iyon sige at gawin ang natitirang mga pin.

Matapos mong solder ang lahat ng mga pin ang iminumungkahi ng video gamit ang isang magnifying glass upang mapatunayan ang iyong mga koneksyon. Ang isang mas mahusay na pamamaraan ay ang paggamit ng isang multimeter upang suriin ang pagpapatuloy. Dapat mong ilagay ang isang probe sa binti ng pin at ang iba pang pagsisiyasat sa bahagi ng board kung saan mo hihihinang ang header (tingnan ang pangalawang larawan sa hakbang na ito). Dapat mo ring suriin ang mga katabing pin upang matiyak na hindi sila konektado dahil sa pagdidikit ng ilang mga pin na magkasama. Kaya halimbawa kung pinatutunayan mo ang pin 4, suriin din ang pin 3 at pin 5. Dapat ipakita ng Pin 4 ang pagpapatuloy habang ang pin 3 at pin 5 ay dapat magpakita ng isang bukas na circuit. Ang tanging pagbubukod ay ang wiper P0W ay maaaring magpakita ng pagkakakonekta sa P0A o P0B.

TIP:

  • Tulad ng nabanggit sa listahan ng mga materyales na mayroong magagamit na pagpapalaki na nag-iiwan ng iyong mga kamay nang libre upang gumana ay magiging kapaki-pakinabang sa hakbang na ito.
  • Ang paggamit ng alligator clip na tumutulong sa mga kamay upang hawakan ang breakout board ay ginagawang medyo madali ang paghihinang ng lahat.
  • Isulat ang numero ng maliit na tilad sa isang piraso ng masking tape at dumikit sa ilalim ng breakout board (tingnan ang pangatlong larawan sa seksyong ito). Kung sa hinaharap kailangan mong makilala ang maliit na tilad mas madali itong basahin ang masking tape. Ang aking personal na karanasan ay nakakuha ako ng kaunting pagkilos ng bagay sa maliit na tilad at ang numero ay ganap na nagmula sa gayon ang mayroon ako ay ang tape.

Hakbang 2: Mga kable

Kable
Kable

Kakailanganin mong ikonekta ang Arduino at Digipot tulad ng ipinakita sa diagram ng mga kable. Ang mga pin na ginagamit ay batay sa layout ng isang Arduino Uno. Kung gumagamit ka ng ibang Arduino tingnan ang huling hakbang.

Hakbang 3: Pagkuha ng Arduino Library para sa Pagkontrol sa DigiPot

Pagkuha ng Arduino Library para sa Pagkontrol sa DigiPot
Pagkuha ng Arduino Library para sa Pagkontrol sa DigiPot

Upang gawing simple ang pagprograma gumawa ako ng isang silid-aklatan na magagamit sa Github. Pumunta sa github.com/gregsrabian/MCP41HVX1 upang makuha ang MCP41HVX1 library. Gusto mong piliin ang pindutang "I-clone" at pagkatapos ay piliin ang "I-download ang Zip". Tiyaking i-save ang Zip file sa isang lokasyon na alam mo kung nasaan ito. Ang desktop o mga folder ng pag-download ay madaling gamiting lokasyon. Kapag na-import mo ito sa Arduino IDE maaari mo itong i-delete mula sa lokasyon ng pag-download.

Hakbang 4: Pag-import ng Bagong Library Sa Arduino IDE

Pag-import ng Bagong Library Sa Arduino IDE
Pag-import ng Bagong Library Sa Arduino IDE

Sa loob ng Arduino IDE pumunta sa "Sketch", pagkatapos ay piliin ang "Isama ang Library", pagkatapos ay piliin ang "Magdagdag ng ZIP Library..". Lilitaw ang isang bagong dialog box na nagpapahintulot sa iyo na piliin ang. ZIP file na iyong na-download mula sa GitHub.

Hakbang 5: Mga Halimbawa sa Library

Mga Halimbawa sa Library
Mga Halimbawa sa Library

Matapos mong maidagdag ang bagong library mapapansin mo na kung pupunta ka sa "File", pagkatapos ay piliin ang "Mga Halimbawa", at pagkatapos ay piliin ang "Mga Halimbawa mula sa Pasadyang Mga Aklatan" makikita mo ngayon ang isang entry para sa MCP41HVX1 sa listahan. Kung magpapasadya ka sa entry na iyon makikita mo ang WLAT, Wiper Control, at SHDN na mga halimbawa ng sketch. Sa Instructable na ito gagamitin namin ang halimbawa ng Wiper Control.

Hakbang 6: Sinusuri ang Source Code

# isama ang "MCP41HVX1.h" // Tukuyin ang mga pin na ginamit sa Arduino # tukuyin ang WLAT_PIN 8 // Kung itatakda sa Mababang "ilipat at gamitin ang" #define SHDN_PIN 9 // Itakda nang mataas upang paganahin ang resistor network # tukuyin ang CS_PIN 10 // Itakda sa mababang upang mapili ang maliit na tilad para sa SPI // Tukuyin ang ilang mga halagang ginamit para sa pagsubok na app # tukuyin ang FORWARD true # tukuyin ang REVERSE maling # tukuyin MAX_WIPER_VALUE 255 // Pinakamataas na wiper na nagkakahalaga ng MCP41HVX1 Digipot (CS_PIN, SHDN_PIN, WLAT_PIN); walang bisa ang pag-set up () { Serial.begin (9600); Serial.print ("Panimulang Posisyon ="); Serial.println (Digipot. WiperGetPosition ()); // Ipakita ang paunang halaga Serial.print ("Itakda ang Posisyon ng Wiper ="); Serial.println (Digipot. WiperSetPosition (0)); // Itakda ang posisyon ng wiper sa 0} void loop () {static bool bDirection = FORWARD; int nWiper = Digipot. WiperGetPosition (); // Kumuha ng kasalukuyang posisyon ng wiper // Tukuyin ang direksyon. kung (MAX_WIPER_VALUE == nWiper) {bDirection = REVERSE; } iba pa kung (0 == nWiper) {bDirection = FORWARD; } // Ilipat ang digipot wiper kung (FORWARD == bDirection) {nWiper = Digipot. WiperIncrement (); // The direction is forward Serial.print ("Pagtaas -"); } iba pa {nWiper = Digipot. WiperDecrement (); // Ang direksyon ay paatras Serial.print ("Decrement -"); } Serial.print ("Posisyon ng Wiper ="); Serial.println (nWiper); antala (100);}

Hakbang 7: Pag-unawa sa Source Code at Pagpapatakbo ng Sketch

Image
Image

Ang source code na ito ay magagamit sa loob ng Arduino IDE sa pamamagitan ng pagpunta sa menu ng Mga Halimbawa at hanapin ang MCP41HVX1 na na-install mo lamang (tingnan ang nakaraang hakbang). Sa loob ng MCP41HVX1 buksan ang halimbawa ng "Wiper Control". Mahusay na gamitin ang code na kasama sa library na parang mayroong anumang mga pag-aayos ng bug ay maa-update ito.

Ang halimbawa ng Wiper Control ay nagpapakita ng mga sumusunod na API mula sa MCP41HVX1 library:

  • Tagagawa ng MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin)
  • WiperGetPosition ()
  • WiperSetPosition (byte byWiper)
  • WiperIncrement ()
  • WiperDecrement ()

Sa loob ng sample na source code siguraduhing itakda ang MAX_WIPER_VALUE sa 127 kung gumagamit ka ng 7 bit chip. Ang default ay 255 na para sa 8 bit chips. Kung gumawa ka ng mga pagbabago sa sample ang Arduino IDE ay pipilitin kang pumili ng isang bagong pangalan para sa proyekto dahil hindi ka nito papayagan i-update ang halimbawa ng code. Inaasahan na pag-uugali.

Sa bawat oras sa pamamagitan ng loop ang wiper ay tataas ng isang hakbang o pagbawas ng isang hakbang depende sa direksyon na pupunta nito. Kung ang direksyon ay pataas at makarating ito sa MAX_WIPER_VALUE babaliktad ang direksyon. Kung na-hit 0 ito ay babalik muli.

Habang tumatakbo ang sketch ang serial monitor ay na-update sa kasalukuyang posisyon ng wiper.

Upang makita ang pagbabago ng paglaban kakailanganin mong gumamit ng isang hanay ng multimeter upang basahin ang Ohms. Ilagay ang mga probe ng metro sa P0B (pin 11) at P0W (pin 12) sa digipot upang makita ang pagbabago ng paglaban habang tumatakbo ang application. Tandaan na ang halaga ng paglaban ay hindi mapupunta sa zero dahil mayroong ilang panloob na paglaban sa loob ng maliit na tilad ngunit lalapit ito sa 0 ohms. Malamang na hindi ito pupunta sa pinakamataas na halaga ngunit malapit din.

Habang pinapanood mo ang video maaari mong makita na ipinapakita ng multimeter ang pagtaas ng paglaban hanggang sa maabot nito ang maximum na halaga at pagkatapos ay magsimulang bawasan. Ang chip na ginagamit sa video ay ang MCP41HV51-104E / ST na isang 8 bit chip na may 100k ohm max na halaga.

Hakbang 8: Pag-troubleshoot

Kung ang mga bagay ay hindi gumagana tulad ng inaasahan dito ang ilang mga bagay na titingnan.

  • Patunayan ang iyong mga kable. Ang lahat ay dapat na konektado nang tama. Tiyaking gumagamit ka ng buong diagram ng mga kable tulad ng nakasaad sa Instructable na ito. Mayroong mga kahaliling diagram ng mga kable na ipinakita sa README, code ng mapagkukunan ng library, at pababa sa ibaba sa Ituturo na ito ngunit mananatili sa kung ano ang naitala sa itaas sa hakbang ng Mga Kable sa itaas.
  • Tiyaking ang bawat pin sa iyong digitpot ay na-solder sa breakout board. Ang paggamit ng visual na inspeksyon ay hindi sapat. Siguraduhin na i-verify mo ang paggamit ng pagpapatuloy na pag-andar ng iyong multimeter upang ma-verify na ang lahat ng mga pin sa digipot ay nakakakonekta sa kuryente sa breakout board at walang koneksyon sa cross ng mga pin mula sa solder na maaaring na-brid sa mga bakas.
  • Kung ang serial monitor ay ipinapakita na ang posisyon ng wiper ay nagbabago kapag pinatakbo mo ang sketch ngunit ang halaga ng paglaban ay hindi nagbabago na isang tagapagpahiwatig na ang WLAT o SHDN ay hindi gumagawa ng wastong koneksyon sa breakout board o mga jumper wipeer para sa WLAT o SHDN ay hindi konektado nang maayos sa Arduino.
  • Tiyaking gumagamit ka ng pangalawang supply ng kuryente na DC sa pagitan ng 10 at 36 volts.
  • Tiyaking gumagana ang 10 hanggang 36 volt na supply ng kuryente sa pamamagitan ng pagsukat ng boltahe sa iyong multimeter.
  • Subukang gamitin ang orihinal na sketch. Kung gumawa ka ng anumang mga pagbabago maaari kang nagpasimula ng isang error.
  • Kung wala sa mga hakbang sa pagto-troubleshoot ang nakatulong sa pagsubok ng isa pang digipot chip. Inaasahan kong bumili ka ng maraming at hinihinang ang mga ito nang sabay-sabay sa isang breakout board ng TSSOP kaya't dapat itong maging isyu lamang ng pagpapalit ng isa para sa isa pa. Nagkaroon ako ng isang hindi magandang maliit na tilad na naging sanhi ng lubos na pagkabigo at ito ang ayos.

Hakbang 9: Mga Panloob at Karagdagang Impormasyon

Kahaliling Diagram ng Kable
Kahaliling Diagram ng Kable

Karagdagang impormasyon:

Ang karagdagang impormasyon ay matatagpuan sa sheet ng data ng MCP41HVX1.

Ang buong dokumentasyon sa buong MCP41HVX1 library ay magagamit sa README.md file na bahagi ng pag-download ng library. Ang file na ito ay nakasulat sa mark down at maaaring matingnan na may tamang pag-format sa loob ng Github (tingnan ang ilalim ng pahina) o may isang mark down na viewer / editor.

Ang mga komunikasyon sa pagitan ng Arduino at ng DigiPot:

Nakikipag-usap ang Arduino sa DigiPot gamit ang SPI. Matapos magpadala ang library ng utos ng posisyon ng wiper tulad ng WiperIncrement, WiperDecrement, o WiperSetPosition pagkatapos ay tumawag ito sa WiperGetPosition upang makuha ang posisyon ng wiper mula sa maliit na tilad. Ang halagang ibinalik mula sa mga utos na Wiper na ito ay ang posisyon ng wiper habang nakikita ito ng maliit na tilad at maaaring magamit upang mapatunayan na ang wiper ay lumipat sa inaasahang lokasyon.

Advanced na Pag-andar (WLAT & SHDN)

Ang mga advanced na pag-andar na ito ay hindi ipinakita sa halimbawang "Wiper Control". May mga magagamit na API sa silid-aklatan para sa pagkontrol sa WLAT & SHDN. Mayroon ding mga halimbawa ng WLAT at SHDN na mga sketch (sa parehong lokasyon ng Wiper Control sketch) kasama ang silid-aklatan.

SHDN (Shutdown)

Ginagamit ang SHDN upang hindi paganahin o paganahin ang resistor network. Ang pagtatakda ng SHDN sa mababang hindi paganahin at mataas ay nagbibigay-daan sa resistor network. Kapag ang resistor network ay hindi pinagana P0A (DigiPot pin 13) ay naka-disconnect at ang P0B (DigiPot pin 11) ay konektado sa P0W (DigiPot pin 12). Magkakaroon ng isang maliit na halaga ng paglaban sa pagitan ng P0B at P0W kaya't ang iyong metro ay hindi magbabasa ng 0 ohms.

Kung ang iyong aplikasyon ay hindi kailangang kontrolin ang SHDN maaari mo itong mai-wire nang direkta sa TAAS (tingnan ang kahaliling diagram ng mga kable). Kakailanganin mong gamitin ang tamang tagapagbuo o ipasa sa MCP41HVX1_PIN_NOT_CONFIGURED sa taga-buo upang ipahiwatig na ang SHDN ay matapang na naka-wire. Mahalagang tandaan na kung sumusunod ka kasama ang halimbawa dapat mong gamitin ang buong diagram ng mga kable (tingnan ang hakbang sa Mga Kable sa itaas).

WLAT (Sumulat ng Latch)

Ang panloob na arkitektura ay dalawang bahagi sa isang solong maliit na tilad. Ang isa sa mga bahagi ay ang interface ng SDI at ang pagrehistro upang hawakan ang halaga ng wiper. Ang iba pang bahagi ay ang resistor network mismo. Ang WLAT ay nagkokonekta sa parehong panloob na mga bahagi nang magkasama.

Kapag ang WLAT ay nakatakda sa LOW anumang itinakda na impormasyon ng posisyon ng wiper posisyon ay ipinapasa nang direkta sa resistor network at na-update ang posisyon ng wiper.

Kung ang WLAT ay nakatakda sa TAAS ang impormasyon ng posisyon ng wiper na ipinasa sa pamamagitan ng SPI ay gaganapin sa isang panloob na rehistro ngunit hindi naipasa sa resistor network at samakatuwid ang posisyon ng wiper ay hindi maa-update. Kapag ang WLAT ay nakatakda sa LOW ang halaga ay inilipat mula sa rehistro sa resistor network.

Kapaki-pakinabang ang WLAT kung gumagamit ka ng maraming mga digipot na kailangan mong panatilihing naka-sync. Ang diskarte ay upang itakda ang WLAT sa TAAS sa lahat ng mga digipots at pagkatapos ay itakda ang halaga ng wiper sa lahat ng mga chips. Kapag ang halaga ng wiper ay naipadala na sa lahat ng mga digipots na WLAT ay maaaring itakda sa LOW sa lahat ng mga aparato nang sabay-sabay upang lahat sila ay ilipat ang mga wiper nang sabay.

Kung kinokontrol mo lamang ang isang DigiPot o mayroong maraming ngunit hindi nila kailangang panatilihing naka-sync malamang na hindi mo kakailanganin ang pagpapaandar na ito at samakatuwid ay direktang mag-wire WLAT sa LOW (tingnan ang kahaliling diagram ng mga kable). Kakailanganin mong gamitin ang tamang tagapagbuo o pumasa sa MCP41HVX1_PIN_NOT_CONFIGURED sa taga-buo upang ipahiwatig na ang WLAT ay matapang na naka-wire. Mahalagang tandaan na kung sumusunod ka kasama ang halimbawa dapat mong gamitin ang buong diagram ng mga kable (tingnan ang Hakbang hakbang sa itaas).

Hakbang 10: Kahaliling Diagram ng Mga Kable

Kable

Mayroon kang pagpipilian na ikonekta ang WLAT mula sa digpot nang direkta sa LOW / GND sa halip na kumonekta sa isang digital pin. Kung gagawin mo ito kung gayon hindi mo makontrol ang WLAT. Mayroon ka ring pagpipilian na ikonekta ang SHDN nang direkta sa TAAS sa halip na isang digital pin. Kung gagawin mo ito hindi mo makontrol ang SHDN.

Ang WLAT at SHDN ay independiyente sa bawat isa upang maaari mong matigas ang kawad ng isa at ikonekta ang isa pa sa isang digital pin, hard wire pareho, o ikonekta ang pareho sa mga digital na pin upang makontrol nila. Sumangguni sa kahaliling diagram ng mga kable para sa mga nais mong matigas na kawad at bumalik sa pangunahing diagram ng mga kable sa hakbang 2 para sa mga kable na makokontrol na mga digital na pin.

Mga tagapagbuo

Mayroong tatlong mga tagapagbuo sa klase ng MCP41HVX. Tatalakayin namin ang dalawa sa kanila. Lahat sila ay naitala sa README.md file kaya kung interesado sa pangatlong tagapagbuo mangyaring sumangguni sa dokumentasyon.

  • MCP41HVX1 (int nCSPin) - gamitin lamang ang tagapagbuo na ito kung ang parehong WLAT at SHDN ay matigas na naka-wire.
  • MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin) - Gamitin ang tagapagbuo na ito kung ang WLAT o SHDN ay matigas na naka-wire. Ipasa ang patuloy na MCP41HVX1_PIN_NOT_CONFIGURED kung ang pin ay matigas na wired o ang pin number kung nakakonekta ito sa isang digital pin.

Ang nCSPin ay dapat na konektado sa isang digital pin. Di-wastong ipasa ang MCP41HVX1_PIN_NOT_CONFIGURED sa taga-buo para sa nCSPin.

Paano Kung Hindi Gumagamit Ng Isang Arduino Uno?

Ang Arduino ay gumagamit ng SPI upang makipag-usap sa digipot. Ang mga SPI pin ay tiyak na mga pin sa Arduino board. Ang mga SPI pin sa Uno ay:

  • SCK - pin 13 sa Uno na konektado sa pin 2 sa digipot
  • MOSI - pin 11 sa Uno na konektado sa pin 4 sa digipot
  • MISO - i-pin ang 12 sa Uno na konektado sa pin 5 sa digipot

Kung gumagamit ka ng isang Arduino na hindi isang Uno kakailanganin mong alamin kung aling pin ang SCK, MOSI, at MISO at ikonekta ang mga iyon sa digipot.

Ang iba pang mga pin na ginamit sa sketch ay regular na mga digital na pin upang ang anumang digital pin ay gagana. Kakailanganin mong baguhin ang sketch upang tukuyin ang mga pin na pinili mo sa Arduino board na iyong ginagamit. Ang regular na mga digital na pin ay:

  • CS - pin 10 sa Uno na konektado sa pin 3 sa digipot (i-update ang CS_PIN sa sketch na may bagong halaga)
  • WLAT - pin 8 sa Uno na konektado sa pin 6 sa digipot (i-update ang WLAT_PIN sa sketch na may bagong halaga)
  • SHDN - i-pin ang 9 sa Uno na konektado sa pin 7 sa digipot (i-update ang SHDN_PIN sa sketch na may bagong halaga)

Inirerekumendang: