Мазмуну:

Arduino PWM менен MOSFETти кантип башкарса болот: 3 кадам
Arduino PWM менен MOSFETти кантип башкарса болот: 3 кадам

Video: Arduino PWM менен MOSFETти кантип башкарса болот: 3 кадам

Video: Arduino PWM менен MOSFETти кантип башкарса болот: 3 кадам
Video: Управление 32 сервомоторами с помощью PCA9685 и Arduino: V3 2024, Июль
Anonim
Image
Image
Райондук диаграмма
Райондук диаграмма

Бул көрсөтмөдө биз Arduino PWM (Pulse Width Modulation) чыгаруу сигналын колдонуу менен MOSFET аркылуу токту кантип башкарууну карайбыз.

Бул учурда, биз arduino кодун башкарабыз, бизге ардуинонун 9 -санарип пининде өзгөрмөлүү PWM сигналын беребиз, анан биз бул сигналды чыпкалайбыз, ал MOSFET дарбазасына колдонулушу мүмкүн болгон жөнгө салынуучу DC деңгээлин берет..

Бул бизге транзисторду бир нече миллиамптар гана агып турган абалга же транзистор аркылуу бир нече ампер ток агып турган абалга өтпөгөн абалдан башкарууга мүмкүндүк берет.

Бул жерде мен PWMди орнотобуз, ошондуктан бизде MOSFETти көзөмөлдөөгө 8192 баскычтуу импульстун туурасы бар.

1 -кадам: Райондук диаграмма

Район абдан жөнөкөй. Ардуинонун D9 пининен PWM сигналы R1 жана C1 айкалышы менен интеграцияланган же чыпкаланган. Көрсөтүлгөн маанилер 1.95КГц жыштыгында же 8192 кадам менен 13 бит иштөөдө жакшы иштейт (2 бийликке 13 = 8192).

Эгерде сиз башка кадамдарды колдонууну чечсеңиз, анда R1 жана C1 баалуулуктарын өзгөртүүңүз керек болот. Мисалы, эгерде сиз 256 кадамды (8 биттик операция) колдонсоңуз, PWM жыштыгы 62,45 KHz болот, башка C1 маанисин колдонууңуз керек болот. Мен бул жыштык үчүн 1000uF жакшы иштегенин таптым.

Практикалык көз караштан алганда, PWMди 0 коюу MOSFET дарбазасындагы DC деңгээли 0V болот жана MOSFET толугу менен өчүрүлөт дегенди билдирет. PWMдин 8191 жөндөөсү MOSFET дарбазасындагы DC деңгээли 5V болот жана MOSFET толугу менен күйгүзүлбөсө олуттуу болот.

R2 каршылыгы MOSFETтин дарбазаны жерге түшүрүү менен дарбазанын сигналын алып салганда өчүрүлүшүн камсыз кылуу үчүн гана бар.

Күч булагы MOSFET дарбазасындагы PWM сигналы менен камсыз кылынган токту камсыз кылууга жөндөмдүү болсо, сиз аны токту чектөө үчүн сериялык каршылыгы жок MOSFETке туташтыра аласыз. Ток MOSFET менен гана чектелет жана ашыкча күчтү жылуулук катары таратат. Муну жогорку агымдар үчүн колдонсоңуз, жетиштүү жылыткычты камсыз кылганыңызга ишениңиз.

2 -кадам: Arduino коду

Arduino коду
Arduino коду

Arduino коду тиркелет. Код жакшы комментарийленген жана абдан жөнөкөй. 11ден 15ке чейинки коддор блогу D9 пинге чыгуу менен PWMдин тез иштеши үчүн arduino орнотот. PWM деңгээлин өзгөртүү үчүн сиз OCR1A салыштыруу реестринин маанисин өзгөртөсүз. PWM кадамдарынын санын өзгөртүү үчүн ICR1дин маанисин өзгөртөсүз. Мисалы 8 бит үчүн 255, 10 бит үчүн 1023, 13 бит иштөө үчүн 8191. ICR1ди алмаштырганда, иштөөнүн жыштыгы өзгөрөрүн билиңиз.

Укурук жөн гана эки баскычтын которгучунун абалын окуйт жана OCR1A маанисин өйдө же ылдый көтөрөт. Мен бул маанини setup () ичинде 3240ка чейин алдын ала койгом, бул MOSFET күйгүзүлө турган мааниден төмөн. Эгерде сиз башка транзисторду же C1 & R1 чыпкасы схемасын колдонсоңуз, анда бул көрсөткүч сиз үчүн бир аз башкачараак болот. Муну биринчи жолу нөлдөн баштап алдын ала коюлган маани менен баштоо эң туура!

3 -кадам: Тесттин жыйынтыгы

Тест жыйынтыгы
Тест жыйынтыгы
Тест жыйынтыгы
Тест жыйынтыгы

ICR1 8191ге коюлганда, мен алган жыйынтыктар 0 менен 2 AMPS ортосундагы токту өзгөрттү:

OCR1A (PWM SettingCurrent (ma) Gate Voltage (Vdc) 3240 0 ma 0v3458 10ma 1.949v4059 100ma 2.274v4532 200ma 2.552v4950 500ma 2.786v5514 1000ma 3.101v6177 1500ma 3.472v6927 2000ma 3.895v

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