Мазмуну:

Сериялык башкарылуучу өзгөрмө ылдамдыктагы мотор: 6 кадам
Сериялык башкарылуучу өзгөрмө ылдамдыктагы мотор: 6 кадам

Video: Сериялык башкарылуучу өзгөрмө ылдамдыктагы мотор: 6 кадам

Video: Сериялык башкарылуучу өзгөрмө ылдамдыктагы мотор: 6 кадам
Video: Женщины - жестокие. Так ли это? — Эксперимент 2024, Июль
Anonim
Сериялык башкарылуучу өзгөрмө ылдамдыктагы мотор
Сериялык башкарылуучу өзгөрмө ылдамдыктагы мотор

Чакан DC моторунун ылдамдыгын көзөмөлдөңүз, компьютериңиздеги сериялык порттон башка эч нерсе жок, бир MOSFET жана анча -мынча программалык камсыздоо. (MOSFET жана сериялык порт "ылдамдыкты көзөмөлдөөнү" түзөт; сизге дагы деле ошол мотор үчүн мотор жана тийиштүү электр энергиясы керек; сериялык порт мосфетти күйгүзүү жана өчүрүү үчүн чыңалууну камсыздай алат, бирок t типтүү моторго керектүү токту берет.)

1 -кадам: Районго караңыз

Циркти караңыз
Циркти караңыз

Биз импульстун туурасы модуляциясын компьютердин rs232 портунан берилүүчү маалымат пинине туташкан жалпы N-канал кубаттуулугу MOSFETтин жардамы менен жасайбыз. Сериялык порт бош турганда, пин "1" абалында отурат, ал rs232ге которулганда, -12V (драйверлерге жараша -9V же -5V жакыныраак болушу мүмкүн), жана транзистор абдан ӨЧҮК болот. Биз "0" битти сериялык портко өткөргөндө, rs232 пин +12В же андан көпкө чейин барат, бул көпчүлүк мосфеттерди жакшы иштетүү үчүн жетиштүү.

Эгерде биз "0" бисти көп катары менен берсек, мотор толугу менен КҮЙГҮЗҮЛГӨ жакын болот жана мотор тез иштейт. Биз көбүнчө "1" битти өткөрүп берсек, мотор жайыраак иштейт.

2 -кадам: Wire It Up

Wire It Up
Wire It Up

Жалгыз бир компонент жана бир нече гана байланыш бар болгондуктан, сиз зымдарды "эркин формада" кошо аласыз.

MOSFETтер статикалык сезимтал, андыктан бир аз этият болуңуз, бирок өтө аз маанилүү.

3 -кадам: PWM баалуулуктары бар файлдарды орнотуңуз

PWM баалуулуктары бар файлдарды орнотуңуз
PWM баалуулуктары бар файлдарды орнотуңуз

Кандайдыр бир программаны жазбай эле моторду башкаруунун бир жолу - тиешелүү байттарды камтыган файлдарды даярдоо (аздыр -көптүр 0 бит менен) жана жөн гана мотор туташтырылган COM портуна көчүрүү. Мен бир нече файлдарды даярдадым (emacs менен, бирок сиз үчүн жакшы болгон нерсе):

  • 0.
  • 1.pwm:: 5000 башкаруу-А символдорун камтыйт (ascii 01) (чарга бир "1" бит)
  • 3.pwm:: 5000 контролдоо-C символдорун камтыйт (ascii 03) (чарга эки "1" бит)
  • 7.pwm:: 5000 башкаруу-G символдорун камтыйт (ascii 07) (чарга үч "1" бит)
  • 15.pwm:: 5000 башкаруу-O символдорун камтыйт (ascii 15) (чарга төрт "1" бит)
  • 31.pwm:: 5000 башкаруу-_ символдорун камтыйт (ascii 31) (чарга беш "1" бит)
  • 63.pwm:: камтыйт 5000 "?" символдор (ascii 63) (бир тамгага алты "1" бит)
  • 127.pwm:: 5000 DEL белгиден турат (ascii 127) (бир тамгага жети "1" бит)

(Эми мен сүрөттөрдү тартканымда, чыныгы бит үлгүлөрү идеалдуу эмес экенин байкайсыңар. Rs232 сериясы LSBди биринчи жолу өткөргөндүктөн, биз чындыгында нөлдөрдүн ордуна нөлгө өтүүнү каалайбыз. Студент үчүн көнүгүү!)

4 -кадам: DOS менен ойноо: COM портун конфигурациялоо жана файлдарды көчүрүү

DOS менен ойноо: COM портун конфигурациялоо жана файлдарды көчүрүү
DOS менен ойноо: COM портун конфигурациялоо жана файлдарды көчүрүү

9600 bps - жалпы бит ылдамдыгы. Бул миллисекундта "болжол менен" бир байтка сонун дал келет, ошондуктан бул учурда ал 1000 Гц PWM жыштыгына туура келет, менимче, кичинекей моторлор үчүн жакшы болушу керек. Сиз бул методдун артыкчылыктарынын бири болгон нерселердин иштешин көрүү үчүн ар кандай бит чендер менен эксперимент жасай аласыз. DOS (же "Командалык кеңеш") терезесин түзүңүз (сиз Windows OS колдонуп жатасыз деп ойлосоңуз) жана өзүңүздүн ком портуңузду конфигурациялаңыз.: mode com1: 9600, n, 7, 1 "Бул комм портуна 9600bps ылдамдыкта иштөөнү жана ар бир белгиге 7 битти жөнөтүүнү билдирет (биздин 7 башка бит узундугубузга дал келүү үчүн)." n "паритеттин жоктугун билдирет, Ошентип, бул маалыматтын биттери гана болот. "1" бир "токтоочу" битти билдирет, бул бизге моторду толугу менен күйгүзүүгө тоскоол болот (ооба.) Ошентип, азыр моторду буйруктар менен күйгүзө аласыз. сыяктуу: көчүрүү 0.pwm com1: Биз миллисекундуна 1ге жакын 5000 белгини жөнөтүп жаткандыктан, мотор 5 секундага жакын толук ылдамдыкта күйүшү керек. 5 секунддан азыраак болсоңуз, кыскараак файл түзүңүз., сиз жасай аласыз: көчүрүү 127.pwm com1: моторду мүмкүн болушунча эң төмөнкү ылдамдыкта иштетүү. Менде болгон орнотуу менен мотор 31.pwm караганда "жайыраак" эч нерсе менен бурулбайт, бирок YMMV (мен ичке k Менде 12В мотор бар болчу, 5В батареялар иштебейт.) COPY буйругу файлдарды бириктирүүгө мүмкүндүк берет, андыктан эгер сиз моторуңуздун ылдамдыгын жогорулатып, анан кайра жайыраак болушун кааласаңыз, анда мындай кылсаңыз болот: көчүрүү 31.pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

5 -кадам: Программадан моторду башкаруу

Программадан моторду башкаруу
Программадан моторду башкаруу

Эгерде сиз программа жазып жатсаңыз, анда COM1: файл катары ача аласыз жана ага башка файл сыяктуу жазыңыз. Белгилердин белгилүү бир санын чыгаруу менен мотор иштеп жаткан мезгилдерди белгилей билүү абдан ыңгайлуу көрүнөт. Тутум сериялык портко жөнөткөн тамгаларды буферлеши мүмкүн экенин унутпаңыз, андыктан WRITE чалуусу мотор сиз айтканыңызды аткарды дегенди билдирбейт. Ком порт сигналдары менен "кооз" эч нерсе кылбаганыбыз үчүн, ал колдоого ала турган жашыруун варианттарды иликтөөнүн кереги жок. (эгерде, эгер сиз com портуна BREAK ырааттуулугун кантип жөнөтүү керектигин билсеңиз, анда бул "0" абалынын үзгүлтүксүз абалы жана моторду баардык жолго салат; үзгүлтүксүз 0 символду жөнөтүүдөн да көбүрөөк.)

Эгерде сиздин программалоо тилиңиз COM1: ге чыгууга уруксат бербесе, анда сиз дагы эле DOSко "чалуу" менен көчүрүү буйруктарын аткаруу менен моторду башкара аласыз. (Макул. Мен Microsoftтун Visual Basic Express 2005 программасын жүктөп алдым (бекер) жана горизонталдуу жылдыруу тилкесин сериялык порт аркылуу башкарылган мотор ылдамдыгына байлап алдым. Zip тиркелди. Бул, балким, программаны кайталоо үчүн керек болгондон да көп нерсеге ээ Сиздин системаңызда, бирок мен кайсы биттерге муктаж экенин так аныктай алган жокмун. Программа жөнөкөйлөштүрүлгөн жана түшүнүктүү (кечиримдүү), көп тармактуу болгондуктан. Бир жип сериялык портко чыгаруудан башка эч нерсе кылбайт. негизги жип жылдыруу тилкесин окуйт жана сериялык жип тарабынан колдонулган маалыматты жаңыртат.)

6 -кадам: Эксперимент

Эксперимент!
Эксперимент!

Эгерде нерселер негизинен иштеп жатса, бул эксперимент үчүн чоң орун берет.

  • Менин кичинекей үлгүлөрүмдү оңдоңуз!
  • Бит ылдамдыгы чоң мааниге ээби?
  • Сиз "күйгүзүү" жана "өчүрүү" импульстарынын туурасын көзөмөлдөшүңүз керекпи же жөн гана алардын катышын көзөмөлдөө жетиштүүбү?
  • Эгерде сиз жөн гана катышты көзөмөлдөшүңүз керек болсо, ылдамдыктын көбүрөөк деңгээлин алуу үчүн жогорку бит ылдамдыгында көп символдуу тизмектерди карасаңыз болот. 0ду 127ден кийин чыгаруу болжол менен жарымы болмок.
  • Бул фонарь лампаларын өчүрүү үчүн да иштеши керек.

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