Мазмуну:

Бир MCU пини менен көптөгөн өчүргүчтөрдү кантип окуу керек: 4 кадам
Бир MCU пини менен көптөгөн өчүргүчтөрдү кантип окуу керек: 4 кадам

Video: Бир MCU пини менен көптөгөн өчүргүчтөрдү кантип окуу керек: 4 кадам

Video: Бир MCU пини менен көптөгөн өчүргүчтөрдү кантип окуу керек: 4 кадам
Video: Using 28BYJ-48 Stepper Motor Push button Speed with 8 projects: Ultimate Video Tutorial Lesson 107 2024, Июнь
Anonim
Бир MCU пини менен көптөгөн өчүргүчтөрдү кантип окуу керек
Бир MCU пини менен көптөгөн өчүргүчтөрдү кантип окуу керек

Сиз качандыр бир убакта бир проекттен (проектилерден) баш тартып жаттыңыз беле жана проект өсүп бара жатат, сиз ага дагы көп нерселерди кошуп жатасызбы (биз муну Feaping Creaturism деп атайбыз)? Акыркы долбоордо мен жыштык өлчөгүчтү куруп жаткам жана беш функционалдуу сигнал генераторун/жыштык синтезаторун коштум. Мен көп өтпөй колдо болгон казыктарымдан көбүрөөк өчүргүчтөр менен жарадар болдум, андыктан эмне кылуу керек?

Бирок, көп өтпөй менин Funboxто дагы жети өчүргүч бар болчу (ооба, мен муну генераторум деп атадым … Билем, менин чыгармачылыгым жок) жана бул жерде сиз муну кантип кыла алаарыңызды көрсөткөн кыска нускама. Бул эч кандай нөөмөт реестрин же конкреттүү ICди талап кылбайт. Чындыгында, эгерде дискреттүү жарым өткөргүчтөр сиз айлансаңыз, бул микроконтроллерди талап кылбайт. Бул жерде сиз AVR (же башка микроконтроллерди) бир пин аркылуу бир нече которуштургучтарды окуунун/башкаруунун бир жолу бар, мен AVRдан башка микроконтроллерлер бар деп уктум, бирок элестете албайм …).:)

1 -кадам: Essentials (Чынында эмес)

Муну ишке ашыруу үчүн сизге бир нече компоненттер керек. Бул сиз башкара турган көптөгөн өчүргүчтөргө ээ болууга жардам берет. Ошондой эле сизге кээ бир резисторлор же ADC (аналогдук-санариптик конверсия) бар микроконтроллер же башка которгуч керек болот, эгерде сиз которгучтун иштетилгенин жана кайсы которгуч болгонун көрсөткүңүз келет.

Эгер сиз кааласаңыз, муну көрсөтүү үчүн чыңалуу менен башкарылуучу осцилляторду колдонсоңуз болот, балким кээ бир жаркыраган жарыктар менен, же болбосо үн менен. Бул китепте мен AVR колдонуп жаткандай түр көрсөткүм келет, бирок сиздин дүйнөдө сизди бактылуу кылган нерсенин бардыгын жасай аласыз. Боб Россти сагындым.

2 -кадам: Voltage бөлүштүргүч

Чыңалуу бөлүштүргүч
Чыңалуу бөлүштүргүч
Чыңалуу бөлүштүргүч
Чыңалуу бөлүштүргүч

Негизи, биз муну кыла турган ыкма - чыңалуу бөлүштүргүч деп аталган техниканы жана схеманы колдонуу. Чыңалуу бөлгүчтөр, сиз болжогондой, V,, in,, чыңалуусун сиз аныктаган кандайдыр бир мааниге бөлөт. Сиз чыңалууну бир нече компоненттерге, анын ичинде конденсаторлорго жана индукторлорго бөлө аласыз, бирок бул жерде мен аны жакшы резистор менен жасайм. Идея - биз кылып жаткан нерсе - бул эки компонентти катарлап коюу, алар ар биринде жеке, компоненттин чыңалуусунун төмөндөшүнө алып келет. Мааниси жок болсо биринчи сүрөттү караңыз. Темир жолдон темир жолго 9В потенциалдуу айырма бар. 9V менен 0V ортосунда сериядагы эки резистор бар. Булардын ар бири каршылыкка жараша чыңалуунун төмөндөшүн башынан өткөрөт, балким сиз V = IRден эстесеңиз болот. Эгерде сиз эки резистордун ортосунда чыңалуу өлчөөсүн алсаңыз, анда биринчи резистордо канча чыңалуунун азайганына жана 0Вга чейин 2 -каршылыктын үстүндө канча тамчы калганына жараша, 9В менен 0В ортосунда кандайдыр бир мааниге ээ болосуз. Бул жагдайда резистордун чыңалуусунун төмөндөшүн эсептөө үчүн жөнөкөй формула бар жана бул окшош. Резистор 1 (R1) үстүндөгү чыңалуу V1, ал эми резистор эки (R2) V2 болсун. Мен форматтоону колдоно албагандан кийин, формуланы көрүү үчүн төмөндөгү 2 -сүрөттү караңыз … Ошентип, биздин резистивдүү бөлүштүргүчүбүздө Vout чыңалуусун V2 формулабыз боюнча аныктоого болот (анткени биз GNDны 0Vге карай карайбыз). Мунун бир пинден бир нече өчүргүчтөрдүн табылышы менен кандай байланышы бар? Мейли, баракты буруңуз, мен сизге көрсөтөм!

3 -кадам: Voltage Divider Ladder

Чыңалуу бөлүүчү тепкич
Чыңалуу бөлүүчү тепкич

Эми бизде бардык өчүргүчтөрүбүз бар окшойт, балким алты же сегиз же он алты, бардыгы резисторлор аркылуу туташкан, алар ар бири чыңалуу бөлүштүргүч катары иштейт, мисалы, которгуч пиндин абалы өзгөргөндө, чыңалуу окулат жана чыңалуу деңгээлине жараша, биз кайсы күйгүзүүчү жаңы эле иштетилгенин биле алат. Төмөндө караңыз. Төмөндөгү сүрөттө мен эки блокту алмаштырдым. Эң үстүңкү блокто эки өчүргүч бар, эң ылдыйкы блокто беш өчүргүч бар. Сиз өзүнчө которгучту, көз ирмемди, тийүү ж.б.у.с. ушинтип туташтыра аласыз. Байкоо үчүн маанилүү нерсе - бул сиздин которгуч туташкан резистор. Менин мисалымда, мен кийинки резистордун каршылыгын дээрлик эки эсеге көбөйтүп койдум, ал чыңалуу боштукту түзөт, ал өчүргүчкө чейин же кийин жаңылбайт. Эгерде сиз буга чейин байкабасаңыз, дагы бир жолу карап көрүңүз жана биз эски досубузга каршылыктын чыңалуу бөлүштүргүчүнө кайтып келгенибизди түшүнүңүз. Биринчи резистор, 10k ohm, 5V менен 2 -каршылыкка туташкан - Vди аныктай турган каршылыкчыгуу SWITCH_ADC пин үчүн, ар бир которгучка туташкан, ошондуктан, ар бир коммутатор VW чыңалуусу менен байланышкан, аны SWITCH_ADCге туташкан ADC пининен окууга болот. Андан кийин, ар бир которгучтан күтүлгөн Voutту аныктаңыз

Vout = Vin * (R2 / (R1 + R2))

бир которуштуруу үчүн:

Vout = 5V * (500 / (10000 + 500)) = 5 * 0.048 = 0.24V же 240 мВ

эки которуштуруу үчүн:

Vout = 5V * (2200 / (10000 + 2200)) = 5 * 0.18 = 0.9V же ~ 900mV

ж.б.у.с.. Эгерде сизде резисторлор гана колдо болсо, анда R2 үчүн өзүңүздүн баалуулуктарыңызды алмаштырып коюңуз … Бул жерде негизги нерсе, өчүргүчтөрдүн ортосундагы чыңалуудагы жетишерлик боштукту сактоо, ошондо ADCдеги каталардын ар кандай маржасы утуп алат ' t сизди коңшу которгучтан күтүлгөн чыңалууга киргизет. Мен эң оңой таптым, бөлүүчү тепкичти куруу жана ADC пинине мультиметр/вольтметрди коюу жана ар бир пинди басып, кандай баалуулуктарга ээ экениңизди көрүү. Алар сиз эсептеген нерселердин так жери болушу керек. Белгилүү бир резисторду колдонуп, ар бир которгучтан күтүлгөн чыңалуу маанилерине ээ болгондон кийин, сиз MCUңузга ADC пинин окуп, аны кайсы баалуулуктар менен салыштырып, кайсы баскыч басылганын аныктай аласыз. Мисалы, сиз ADC төөнөгүчүндө аныкталган өзгөрүү болгондо чакырыла турган үзгүлтүккө учуроо кызматын каттадыңыз дейли. Ошол ISRдин ичинде сиз ADCди окуп, бул маанини сиздин которуу столуңуз менен салыштыра аласыз. Эгерде сиз 8-бит ADC маанисин колдонуп жатсаңыз, анда сиздин чыңалууңуз 0 менен 255 ортосундагы санга айландырылат, бул 0V менен 5V ортосундагы чыңалууга туура келет. Бул сиздин ADCңиздин ушундай жол менен конфигурацияланганын билдирет.

4 -кадам: Жыйынтык

Ошентип, азыр сиз коммутаторлор үчүн GPIO казыктарын кантип үнөмдүү колдонууну билишиңиз керек. Качан GPIO казыктары түгөнүп баратканда, же баштоого эч нерсеси жок болсо, же сиз которгучтар банкын колдонуп жатканыңызды түшүнсөңүз, каршылаш бөлүүчү GPIO казыктарын сактап калуунун жолу. которуу мүмкүнчүлүгүн аныктоо үчүн күчтүү механизм.

Сунушталууда: