Мазмуну:

Температураны көзөмөлдөгөн күйөрман!: 4 кадам
Температураны көзөмөлдөгөн күйөрман!: 4 кадам

Video: Температураны көзөмөлдөгөн күйөрман!: 4 кадам

Video: Температураны көзөмөлдөгөн күйөрман!: 4 кадам
Video: DHT11, DHT22 жана L298N колдонуу менен мотордун ылдамдыгын башкаруу 2024, Июль
Anonim
Температураны көзөмөлдөгөн күйөрман!
Температураны көзөмөлдөгөн күйөрман!

Сингапур сыяктуу тропикалык өлкөдө жашап, эртеден кечке тердөө көңүлдү оорутат, ошол эле учурда сиз мындай көңүлсүз чөйрөдө окууга же иштөөгө көңүл бурушуңуз керек. Аба агып, өзүңүздү муздатуу үчүн, мен температура башкарылуучу желдеткичти ойлоп таптым, ал температура 25 Цельсийге жеткенде автоматтык түрдө күйөт (башкача айтканда, көпчүлүк ысый баштайт) жана желдеткичтин ылдамдыгы дагы жогорулайт жана алып келет шамал 30 Цельсий боюнча.

Керектүү компоненттер:

1. Бир Arduino Uno.

2. Бир температура сенсору (TMP36 аналогдук өндүрүшкө ээ).

3. Бир TIP110 транзистору.

4. Бир 6V DC Motor күйөрман бычак менен.

5. Бир диод (1N4007).

6. Бир LED.

7. Эки резистор (220Ohm жана 330Ohm)

8.6V электр менен камсыздоо.

1 -кадам: схеманы түзүңүз

Схема түзүү
Схема түзүү
Схема түзүү
Схема түзүү

Бул жерде мен бул долбоор үчүн Eagle колдонуп жараткан схема.

Температура сенсорунун схемасы аналогдук кирүүнү берет, анын негизинде мотор күйөт жана анын ылдамдыгы өзгөрөт. Жогорудагы пиндин макетинде көрсөтүлгөндөй, pin1 электр булагына туташтырылышы керек. TMP36 2.7Vдан 5.5Vга чейинки чыңалууда жакшы иштегендиктен (маалымат барагынан), 5V Arduino тактасынан температура сенсорун иштетүү үчүн жетиштүү. Pin 2 аналогдук чыңалуунун маанисин A0 пинге чыгарат, бул температурага линиялык пропорционалдуу. Pin3 Arduinoдогу GND менен туташып турганда.

Табылган температуранын негизинде PWM пин 6 "башка чыңалуусун чыгарат" (ар кандай чыңалуу сигналды кайра -кайра күйгүзүү жана өчүрүү аркылуу ишке ашат) TIP110 транзисторунун базасына. R1 токту чектөө үчүн колдонулат, андыктан ал максималдуу базалык токтон ашпайт (TIP110 үчүн, бул маалымат барагына негизделген 50мА.) Ардуинодон келген 5В эмес, 6В тышкы электр менен камсыздоо моторду чоң катары иштетүү үчүн колдонулат. мотор тарткан ток Ардуинону жок кылышы мүмкүн. Бул жердеги транзистор дагы ошол эле себептен мотор схемасын Arduinoдон бөлүү үчүн буфер катары кызмат кылат (Arduino бузулуу үчүн мотор тарткан токту болтурбоо.). Мотор ага карата колдонулган ар кандай чыңалууда ар кандай ылдамдыкта айланат. Моторго туташкан диод, транзистордун бузулушуна жол бербөө үчүн, күйгүзгүчтү күйгүзүп, өчүрүп жаткан учурда мотор тарабынан пайда болгон эмфияны таркатуу болуп саналат.

Санарип пин 8 диод күйгүзүлөт, ал күйөрман айланып турганда күйөт, R2 каршылыгы токту чектөө үчүн.

Эскертүү*: Райондогу бардык компоненттер бир эле жерди бөлүшөт, ошондуктан жалпы маалымдама пункту бар.

2 -кадам: Коддоо

Coding
Coding
Coding
Coding

Менин коддоодогу комментарийлер ар бир кадамды түшүндүрдү, төмөндө кошумча маалымат бар.

Менин коддоонун биринчи бөлүгү - бардык өзгөрмөлөрдү жана казыктарды аныктоо (Биринчи сүрөт):

1 -сап: Температура калкып жүрүүчү деп аныкталган, андыктан ал такыраак.

3 -сап жана 4 -сап: Желдеткич күйгүзүлгөн минималдуу температура башка баалуулуктарга ылайыкташтырылышы мүмкүн, ошондой эле желдеткич тезирээк айлануучу "tempHigh".

5 -сап: Желдеткич пин ар кандай PWM казыктары болушу мүмкүн (пин 11, 10, 9, 6, 5, 3).

Менин коддоомдун экинчи бөлүгү бүт схеманы көзөмөлдөө (Экинчи Сүрөт):

3-сап жана 4-сап: Ардуинодогу аналогдук-санариптик конвертер analogRead () аналогдук сигналынын маанисин алат жана 0-1023 (10-бит) сандык маанини кайтарат. Санариптик маанини температурага айландыруу үчүн, ал температура сенсорунан санариптик чыңалуу чыгымын эсептөө үчүн 1024кө бөлүнөт жана 5 Вго көбөйтүлөт.

Line5 & 6 -сап: TMP36 маалымат барагына ылайык, ал 0,5В чыңалууга ээ, андыктан 0,5В чыныгы чыңалуусун алуу үчүн баштапкы санариптик чыңалуудан алынып салынат. Акырында, биз чыныгы чыңалууну 100гө көбөйтөбүз, анткени TMP36 10мВ/градус Цельсий масштабдуу факторуна ээ. (1/(10мВ/Цельсий градус)) = 100 градус Цельсий/В.

Line 18 & Line24: PWM Pin 0-5V чейин чыңалуусун чыгарат. Бул чыңалуу 0-255ке чейинки 0-255ке чейин жана 255 100% ды түзгөн кызмат цикли менен аныкталат. Ошентип, "80" жана "255" бул жерде желдеткичтин ылдамдыгы.

3 -кадам: Сыноо жана ширетүү

Сыноо жана ширетүү
Сыноо жана ширетүү
Сыноо жана ширетүү
Сыноо жана ширетүү
Сыноо жана ширетүү
Сыноо жана ширетүү

Схеманы жана коддоону иштеп чыккандан кийин, схеманы нан тактасында текшерүү убактысы келди!

Схемада көрсөтүлгөндөй схеманы туташтырыңыз

Бул этапта 9В батареяны колдондум, бул 6В DC моторуна туура келбейт, бирок аларды кыска убакытка бириктирүү туура болот. Чыныгы прототип учурунда мен мотор үчүн 6В кубат берүү үчүн тышкы электр энергиясын колдондум. Сыноодон өткөндөн кийин, схеманын жакшы иштээри көрсөтүлөт. Андыктан аларды стриптизге ширете турган мезгил келди!

Районду ширетүүдөн мурун…

Компоненттерди каякка коюу керектигин жана тешик бургулоо керек болгон жерди пландаштыруу үчүн схеманы Stripboard Layout Planing Sheetке тартуу жакшы. Тажрыйбама таянып, эки ширетүүнүн ортосунда мамычаны калтырып коюу оңой болот.

Лайкоодо…

Полярдуулук менен компоненттерге этият болуңуз. Бул схемада алар светодиод болот, анын узун буту анод жана диод, анын боз бөлүгү катод. TIP110 транзисторунун жана TMP36 температура сенсорунун түйүнү да каралышы керек.

4 -кадам: демонстрация

Image
Image
Демострация
Демострация
Демострация
Демострация
Демострация
Демострация

Бүт схеманы тыкан кылуу үчүн жана баш аламан болбош үчүн, мен Arduinoдогу пинге туташып жатканда Arduinoдогу стриптизди жыйноо үчүн ургаачыдан эркекке чейин колдоном. Мен дагы желдеткичти кармоо үчүн күйөрман кармагычты 3D басып чыгарам, stl файлы төмөндө тиркелет. Демонстрация учурунда мен 9В батареям иштебей жаткандыктан, тышкы электр энергиясын колдоном.

Акыркы көрсөтмө видео жогоруда тиркелген. Көргөнүңүз үчүн рахмат!

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