Мазмуну:
- 1 -кадам: материалдарды чогултуу
- 2 -кадам: Районду чогултуңуз
- 3 -кадам: MCUдагы PWMди орнотуңуз
- 4 -кадам: Микроконтроллерди программалаңыз
- 5 -кадам: Сериялык порт байланыштары
Video: Servo Squirter - USB суу пистолети: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:43
USB көзөмөлдөгөн servo суу пистолети. Эч нерседен бейкапар өткөндөрдү атуу же адамдарды тажатма суроолор менен кармоо үчүн эң сонун. Бул долбоор - бул багыттуу атуу үчүн сервонун үстүнө орнотулган кичинекей суу насосу. Мунун баары микроконтроллердин жардамы менен жана USB аркылуу клавиатураңыздан башкарылат. Биздин долбоорлорду жана акысыз видео сабактарыбызды көрүү үчүн биздин веб -сайтты текшериңиз
1 -кадам: материалдарды чогултуу
Бул долбоор микроконтроллерге негизделген. USB NerdKitке кирген ATmega168 микроконтроллеринен башка. Бул долбоор үчүн биз төмөнкүлөрдү колдондук: 1 Hobby Servo, Hitec HS-501 төмөн чыңалуу поршендик суу насосу1 Small n-channel MOSFET, 2N7000
2 -кадам: Районду чогултуңуз
Биздин райондун биринчи бөлүгү жөн эле сервого туташат. Бул жерде жөнөкөй: микро контроллерден сервого бир зым. Өндүрүүчүгө жараша бир нече ар кандай түстөгү этикеткалар бар, андыктан текшерүүдөн мурун текшериңиз NerdKits панелиндеги ServoSquirter схемасынын схемасы схеманын экинчи бөлүгү микроконтроллерге насостун моторун күйгүзүүгө жана өчүрүүгө мүмкүндүк берет. ATmega168 чипинин өзү 40мА максты каалаган пинге киргизүүгө же чыгарууга мүмкүндүк берет, бирок биздин насос 1000мАга жакыныраак талап кылат! Ошентип, бул чоң жүктү көзөмөлдөө үчүн биз чоңураак 2N7000 транзисторун колдонууну чечтик. Биринчиден, биз MOSFETтерди (Металл оксиди жарым өткөргүч талаа эффекти транзисторлорун) коммутаторлор катары колдонуунун негиздерин түшүндүрөбүз: дарбазанын чыңалуусун булактан өйдө көтөрүп, агымдын дренаждан булакка өтүшүнө уруксат бере алабыз. 2N7000 маалымат барагынан биз ар кандай дарбаза булагынын чыңалуусу үчүн дренаждык ток менен дренаждык булактын чыңалуусунун ортосундагы байланышты көрсөткөн Figure 1ди алдык. Бул графиктен үйрөнө турган бир нече маанилүү нерселер бар: 1. Болжол менен 3,0 вольттон төмөн VGS үчүн эч кандай токтун агышына жол берилбейт. Бул өчүрүү абалы, ошондой эле "кесүү" деп аталат. 2. Кичинекей VDS үчүн ийри келип чыгышы боюнча болжол менен сызыктуу көрүнөт - бул электрдик түрдө резисторго окшош экенин билдирет. Эквиваленттүү каршылык - ийри сызыктын тескери эңиши. MOSFET операциясынын бул аймагы "триод" деп аталат. 3. Чоңураак VDS үчүн токтун кээ бир максималдуу деңгээлине жетет. Бул "каныктыруу" деп аталат. 4. Биз VGSти көбөйткөнүбүздө, триоддо жана каныктыруу режиминде дагы агымга жол берилет. Эми сиз чындыгында MOSFETтин бардык үч режими жөнүндө билдиңиз: кесүү, триод жана каныктыруу. +5 же 0), биз VGS = 5V үчүн сары менен белгиленген ийри сызык жөнүндө гана ойлонобуз. Адатта, MOSFETти коммутатор катары колдонуу жалпысынан иштөөнүн триоддук режимин камтыйт, анткени MOSFET электр энергиясын PD = ID*VDS таратат, ал эми жакшы которгуч өчүргүчтүн ичинде аз кубатты таркатышы керек. Бирок, бул учурда, биз мотор менен алектенип жатабыз жана моторлор көп башталышында көп чыңалууну талап кылат (чыңалуу азаят). Ошентип, биринчи же эки секундада MOSFET жогорку VDS менен иштейт жана анын максималдуу агымы менен чектелет - маалымат барагына тарткан кызыл сызыктан болжол менен 800mA. Биз насосту иштетүү үчүн бул жетишсиз экенин байкадык, андыктан бир аз трюк колдонуп, эки MOSFETти параллелдүү түрдө койдук. Ошентип, алар агымды бөлүшүшөт жана 1600мАны чогуу чөктүрүшөт. Алсо насостун жогорку кубаттуулук талаптарына байланыштуу, биз жогорку ток чыгаруучу дубал трансформаторун колдондук. Эгерде сизде 5Vдан чоң дубал трансформатору бар болсо - балким 9V же 12V - анда сиз
3 -кадам: MCUдагы PWMди орнотуңуз
PWM реестрлери жана эсептөөлөрү Видеодо биз таймер/эсептегич модулу колдонгон эки деңгээл жөнүндө сүйлөшөбүз: эң жогорку баа жана салыштыруу мааниси. Бул экөө тең сиз каалаган PWM сигналын чыгарууда маанилүү, бирок ATmega168дин PWM өндүрүшүн биринчи кезекте активдештирүү үчүн, биз бир нече регистрлерди орнотушубуз керек. Биринчиден, биз OCR1A менен Fast PWM режимин тандап алабыз, бул бизге жаңы импульстун канчалык тез башталышын каалабагандык менен коюуга мүмкүндүк берет. 1 ар бир 8/(14745600 Гц) = 542 наносекунд. Бизде бул таймер үчүн 16 биттик регистрлер болгондуктан, бул жалпы сигнал мезгилибизди 65536*542ns = 36 миллисекундка чейин орното алабыз дегенди билдирет. Эгерде биз чоңураак бөлүмдүн номерин колдонгон болсок, анда биздин импульстарды алысыраак кылып алышыбыз мүмкүн (бул кырдаалда жардам бербейт), жана биз чечимди жоготуп алмакпыз. Эгерде биз кичинекей бөлүм номерин (мисалы, 1) колдонгон болсок, биздин серво күткөндөй импульсубузду жок дегенде 16 миллисекунд бөлө албайбыз. чыгаруу, бул биздин видеодо сүрөттөлгөн. Биз ошондой эле PB2 төөнөгүчүн бул жерде көрсөтүлбөгөн, бирок ал коддо. ATmega168 маалымат барагынын 132-134-беттеринен бул кадрларды чоңойтуу үчүн чыкылдатыңыз.
4 -кадам: Микроконтроллерди программалаңыз
Эми MCUну иш жүзүндө программалоого убакыт келди. Толук булак коду биздин веб -сайтта берилген https://www.nerdkits.com/videos/servosquirterКод алгач PWMди сервону айдоого орнотот. Андан кийин код бир аздан кийин колдонуучунун киришин күтөт. 1 жана 0 символдору насостун транзисторуна туташкан MCU төөнөгүчүн күйгүзүп же өчүрүшөт. Бул насосту күйгүзүп, өчүрүп күйгүзөт, бизге каалоосу боюнча отту берет. Код ошондой эле '[' жана ']' баскычтарына жооп берет, бул баскычтар PWM төөнөгүчүнүн салыштыруу маанисин жогорулатат же төмөндөтөт, бул болсо сервого алып келет. мотор абалын өзгөртүү үчүн. Бул сизге ок атуудан мурун максат коюуга мүмкүнчүлүк берет.
5 -кадам: Сериялык порт байланыштары
Акыркы кадам - компьютерди орнотуу, ошондо сиз буйруктарды Микроконтроллерге жөнөтө аласыз. NerdKitте биз компьютерге буйруктарды жана маалыматты жөнөтүү үчүн сериялык кабелди колдонобуз. Сериялык порт аркылуу NerdKit менен байланыша алган программалоо тилдеринин көбүндө жөнөкөй программаларды жазууга болот. Бирок биз үчүн сериялык байланыш үчүн терминалдык программаны колдонуу алда канча жөнөкөй. Бул жол менен сиз жөн гана тергичтен терип, NerdKit. Windowsтен келген жоопту көрө аласыз, эгер сиз Windows XP же андан мурунку версиясын колдонуп жатсаңыз, HyperTerminal камтылган жана Старт менюңузда "Старт -> Программы -> Аксессуары -> Байланыш ". HyperTerminalди биринчи жолу ачканыңызда, ал сизден байланышты орнотууну суранат. Негизги HyperTerminal сценасында болгуча, алардын ичинен жокко чыгарыңыз. Сиз HyperTerminalди орнотуп, туура COM портун тандап жана NerdKit менен иштөө үчүн порт жөндөөлөрүн туура орнотушуңуз керек. Туура HyperTerm орнотууларын алуу үчүн төмөндөгү скриншотторду ээрчиңиз. Эгер сиз Windows Vista'да болсоңуз, HyperTerminal мындан ары киргизилбейт. Бул учурда, PuTTY (Windows орноткучу) жүктөп алыңыз. Туура COM портун колдонуп Putty орнотуу үчүн төмөндөгү туташуу жөндөөлөрүн колдонуңуз Mac OS X Терминал тиркемесине киргенден кийин, "screen /dev/tty. PL* 115200" деп териңиз. minicom "сериялык порт менен сүйлөшүү. Баштоо үчүн, minicomдун орнотуу менюсуна кирүү үчүн консолдогу "minicom -s" иштетиңиз. "Сериялык портту орнотууга" өтүңүз. Параметрлерди төмөнкүдөй орнотуңуз: Linux боюнча Minicom конфигурациясы Андан кийин, escape баскычын басып, орнотууларды демейки катары сактоо үчүн "Орнотууну dfl катары сактоо" колдонуңуз. Эми сиз "Чыгуу" баскычын басып, NerdKit менен сүйлөшүү үчүн minicom колдоно алышыңыз керек.
Сунушталууда:
Суу эстеткичи Суу бөтөлкө кармагычы: 16 кадам
Суу эстеткич Бөтөлкө кармагыч: Сууну ичүүнү унутуп калдыңызбы? Мен билем! Мына ошондуктан мен суу ичүүңүздү эске салган суу бөтөлкөсүнүн кармагычын түзүү идеясын ойлоп таптым. Суу бөтөлкөсүнүн кармагычында сизге эскертүү үчүн саат сайын ызы -чуу боло турган өзгөчөлүк бар
Алыстан башкарылуучу суу пистолети: 6 кадам
Алыстан башкарылуучу суу тапанчасы: Бул көрсөтмө Түштүк Флорида университетинин Макекурсунун долбоорунун талабын аткаруу үчүн түзүлгөн (www.makecourse.com) .Бул кадамдардан кийин сиз өзүңүздүн алыскы башкарылган жогорку басымдагы суу тапанчаңызды жасай аласыз
Суу ичүүчү сигнализация системасы /Суу алуунун монитору: 6 кадам
Суу ичүүчү сигнализация системасы /Суу алуунун монитору: Ден соолугубузду чыңдоо үчүн күн сайын жетиштүү өлчөмдө суу ичишибиз керек. Ошондой эле көптөгөн бейтаптар бар, алар күн сайын белгилүү бир өлчөмдө суу ичишет. Бирок, тилекке каршы, биз графикти дээрлик күн сайын өткөрүп жиберчүбүз. Ошентип, мен дизайн
WiFi менен DIY өзүн өзү сугаруучу идишти куруңуз - Суу өсүмдүктөрдү автоматтык түрдө жана суу аз болгондо эскертүүлөрдү жөнөтөт: 19 кадам
WiFi менен DIY өзүн өзү сугаруучу идишти куруңуз - Суулар өсүмдүктөрдү автоматтык түрдө жана суу аз болгондо эскертмелерди жөнөтөт: Бул окуу куралы эски бак өстүрүүчү, таштанды челеги, желим жана өзүн өзү колдонуп, WiFiга туташкан өзүнчө сугаруучу сепкенди кантип курууну көрсөтөт. Adosiaдан суу казандын субставкасы
Суу сактагыч менен WiFi автоматтык өсүмдүк азыктандыргычы - Ички/Тышкы өстүрүү - Суу өсүмдүктөрү автоматтык түрдө Алыстан Мониторинг менен: 21 кадам
WiFi суу сактагычы бар автоматтык өсүмдүк азыктандыргычы - ички/тышкы өстүрүү - суу өсүмдүктөрү автоматтык түрдө алыстан байкоо жүргүзүү менен: Бул окуу куралында биз өсүмдүктөрдү автоматтык түрдө сугаруучу жана Adosia платформасынын жардамы менен алыстан көзөмөлгө алына турган жабык/сырткы өсүмдүктөрдү багуу тутумун кантип орнотууну көрсөтөбүз