Мазмуну:

"Үйдө жалгыз" уурулукка бөгөт коюу/ Stepiny моторун жана Servo айдоо үчүн Attiny13 колдонуу: 5 кадам
"Үйдө жалгыз" уурулукка бөгөт коюу/ Stepiny моторун жана Servo айдоо үчүн Attiny13 колдонуу: 5 кадам

Video: "Үйдө жалгыз" уурулукка бөгөт коюу/ Stepiny моторун жана Servo айдоо үчүн Attiny13 колдонуу: 5 кадам

Video:
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноябрь
Anonim
"Үйдө жалгыз" уурулукка бөгөт коюу/ Stepiny моторун жана Servo айдоо үчүн Attiny13 колдонуңуз
"Үйдө жалгыз" уурулукка бөгөт коюу/ Stepiny моторун жана Servo айдоо үчүн Attiny13 колдонуңуз
"Үйдө жалгыз" уурулукка бөгөт коюу/ Stepiny моторун жана Servo айдоо үчүн Attiny13 колдонуңуз
"Үйдө жалгыз" уурулукка бөгөт коюу/ Stepiny моторун жана Servo айдоо үчүн Attiny13 колдонуңуз

Бул менин таң калычтуу долбоорлорумдун бири болушу мүмкүн:-) Бирок сиз уурулардан алыс болууну каалабасаңыз дагы, бул долбоор сизге steppermotor же servo моторун, ал тургай Attiny13 менен бир нече DC моторун айдашыңыз керек болгон нерселер үчүн колдонулушу мүмкүн. Көбүңөр үйдө жалгыз тасманы эстейсиңер, ал жерде МакКаули Калкин ууруларга чындыгында ал үйдө жалгыз эмес экенин көрсөтүп, пластинкага картондогу фигураны коюп, башка картонго фигурага жиптерди коюп, элдерди туурай алат. Мен көп учурда үйдөн чыкканымда, үйүмдү ээлеп алгандай калтырып кетүү жөнүндө абдан аң -сезимдүүмүн. Мен буга чейин жарыкты белгилүү бир үлгүдө өчүрүү үчүн жетиштүү кокустук менен өчүргөн "Үйдөгү симуляторду" жарыялаганмын. кимдир бирөө бар окшойт Мен "жасалма телеканал" коштум, ал сыналгы ойноп жаткандай көрүнөт. Мунун баары жардам берет, бирок катышууну симуляциялоого келгенде, чыныгы кыймылдан артык эч нерсе жок. Ошентип, мен көчүп жүргөн нерсеге муктаж болчумун жана менде рекорд ойноткуч жок болгондуктан, мен жокто иштей турган нерсени каалагам, мага дагы бир аз катуу абал керек болчу. Мен муну 90 градуска буруш үчүн светти кезектешип тосуп, светти тоспой турган болчумун. Мен муну биринчи жолу арзан сервоприём менен кылдым, бирок бул эки көйгөйдү берди: картка фигураны да чоң эмес чоңдукка кошуу кыйын болду Мен кылдым, сүйрөө ошол сервого өтө эле көп болмок. Күчтүүрөөк серводун баасы абдан кескин жогорулады, ошондуктан мен "Steppermotor" деп ойлоно баштадым. Менде дагы эле муздаткычтын салмагы бар болчу, ошондуктан идеалдуу көрүндү. Steppermotorду айландыруу программасы Arduinoго оңой эле жазылган, бирок сүйрөө дагы эле бир аз көйгөй жаратып жаткан, анткени менин картон фигурамдын өлчөмү адамдын тулкусу (узундугу 80 смдей). Мен же картонду күчөтүп, оор кылып, же кичирээк кылышым керек болчу. Экинчиси эң жакшы чечим болуп көрүндү, анткени мен аны жарыкка жакыныраак коё алчумун. Ошол убакта мен дагы фигураны тургузам деген ой менен ойночумун. Кыймылдаткычтар, шкивдер ж. Ошентип, ал толугу менен көлөкө түшүрүп, анан башын ийкейт. жана менин сервом кайра келди. Мен чындыгында картон фигурасын буруш үчүн бүтүндөй ардуинону курмандыкка чалгым келген жок. Контейрде мен өзүмдүн тегерегимде турган Attiny13 жумушун ошондой эле аткара алат деп ойлочумун: кадам үчүн 4 казык, серво үчүн 1 пин. Бул Attiny13 сунуштаган нерсе. Мен кээде мен өтө тыгыз боло алам деп моюнга алам, конкреттүү бир убакта, белгилүү бир убакытта иштөө үчүн кандай сценарийлерди ойлогом, анткени идеалдуу мен башкаргым келген Мен буга чейин айткан "Үйдөгү симулятордон". Ошентип, мен зым же зымсыз байланыш жөнүндө ойлондум, бирок анда Attin13 эң жакшы идея эмес болчу, ал Manchestercode менен көйгөйгө туш болгон жана мага ресивер үчүн пин керек болчу жана ошол арзан ресиверлердин сезгичтиги анчалык деле жакшы эмес. Ошентип, мен жөн гана коммерциялык таймерди алмаштыруу жөнүндө ойлондум, бирок кийин мен акмак экенимди түшүндүм. Бул нерсеге өзүнүн PSU керек болгондуктан, эмне үчүн дубалды алып, аны мен үйдөгү симуляторумдан башкара турган Remote Switchке койбойм. Ошентип, мен акыркы дизайнымды кура баштадым.

Арзан ServoA SteppermotorA картон кутуAn Attiny13An 8 казык IC розеткасы 17 тешиктен турган тилке 9 бөлүк Кээ бир серво узартуу корддору ULN2003A 16 казык IC розеткасы 10 к каршылык Пластикалык кесүүчү такта (же башка жеңил материал) 3 пин эркек баш (сервво үчүн) 6 пин эркек баш (степпермотор үчүн) клейкондук лента (албетте)

Кошумча: Attiny программасы

Steppermotor жөн эле эскертүү. Мен эски 55SI-25DAWC колдоном, бирок эгер сиз дагы эле сатып алсаңыз, анда абдан арзан степпермотор/айдоочу комбону бар: 28BYJ-48. Мотордун өзү 1,50 евро турат, бирок 2 еврого ошол эле моторду тактай менен ала аласыз. ошондуктан бул жакшы келишим

1 -кадам: "Үйдө жалгыз" Картон адамын куруу

"Үйдө жалгыз" картондогу кишини куруу
"Үйдө жалгыз" картондогу кишини куруу
"Үйдө жалгыз" картондогу кишини куруу
"Үйдө жалгыз" картондогу кишини куруу

Кутудан 40x20 см кесим мен 18x18 кесимди кесем. Мен эки бөлүктү баш жана тулку кылып бириктирип, скотчту колдонуп, эки бөлүктүн ортосунда кичинекей боштук калтырып, бирок скотч менен жаап, моюнга топсону түздүм. (Сүрөттөр муну абдан түшүнүктүү кылып көрсөтүп турат) Эски кесүү тактасынан узундугу 20 см, калыңдыгы жарым смдей (тактайдын калыңдыгы) жана туурасы 1,5 смдей кесимди кесип алдым. 1,5 см менин кадамымдын огуна туура келиши үчүн жетиштүү болчу. Эгерде сизде башка тепкич болсо, анда сиз кескен бөлүк кадамыңыздын огу үчүн жетишерлик кең экенин текшериңиз. Менин огума туура келе турган тешикти тешип койгом. ошондо пластикти картондун түбүнө чаптап койгом 'Torso'Just "Мойнумдун" астында, картон кесимдеринен мен өзүмдүн сервом үчүн кармагыч курдум. Албетте, бул бурчтуу темир (же пластик) менен жасалышы мүмкүн, бирок бул картон тулкусуна бекитүү үчүн бир аз кыйын, ошондуктан мен жөн гана сервого туура келүү үчүн картонду колдондум. Мен кесүүчү тактадан 11 х 0,6 х 0,6 пластмассадан жасалган сервого кол коштум жана аны Servoго бекиттим. Дагы, бул кантип жасалып жатканын көрүү үчүн сүрөттөрдү караңыз Менин степперим картон фигурасын көтөрүүгө жетиштүү оор болгонуна карабай, момент жана анын бурулушунан улам сүйрөө моторду айланчыктап "басууну" баштайт, ошондуктан мен базалык табакты жараттым 24 * 11 см кесүүчү тактай. Мен тепкич моторун тиркөө үчүн эки тешик бургуладым жана дагы деле контролер үчүн кеңири орун бар. Серво 180 градуска бурулганына карабай, мен колумду такыр башын тик койбогондой жайгаштырдым. Ошентип, servo 0 позициясына кайтып келгенде оңой эле кайра түшөт

2 -кадам: "Үйдө жалгыз" контроллерди куруу

"Үйдө жалгыз" контроллерин куруу
"Үйдө жалгыз" контроллерин куруу
"Үйдө жалгыз" контроллерин куруу
"Үйдө жалгыз" контроллерин куруу
"Үйдө жалгыз" контроллерин куруу
"Үйдө жалгыз" контроллерин куруу
"Үйдө жалгыз" контроллерин куруу
"Үйдө жалгыз" контроллерин куруу

Контроллер ULN2003кө тиркелген An Attiny13. Менин версиямда, мен башка долбоорлордо колдонууну ийкемдүү кылуу үчүн, бир аз көбүрөөк түйрөөктөрдү колдонгонума карабастан, сизге керек болгон бир гана баштык - 3 пинтүү эркек серво башы жана 6 кадамдуу эркек баш

3 -кадам: "Үйдө жалгыз": Программалык камсыздоо

EDIT 2019 Долбоор Attiny13 үчүн бир кезде популярдуу болгон 'Smeezekitty' ядросунун негизинде жасалган. MCUDudeдан азыр көп колдонулган MicroCore, кыязы, delayMicroseconds билдирүүлөрүндөгү өзгөрмөлөр менен көйгөйлөргө ээ. Эгер сиз муну колдонуп жатсаңыз, "delayMicroseconds (300 + p * (2500 /180)) алмаштырыңыз;" by "delay (5);"

Жогорудагы программа менин өзгөчө степперимди кантип айдоону көрсөтөт жана эгерде сизде anotehr stepper болсо, PORTBге жазылган баалуулуктарды өзгөртүү керек болушу мүмкүн. Attiny13 эс тутумунда кичинекей болгондуктан, ошондой эле өтө көп казыктарды бербегендиктен, программа кээ бир татаалдыкты колдон чыгарат. PORTBге түз жазуу жакшы, бирок бул учурда ал PB4 жана PB5ке "0" жазат. PB5 анча деле көйгөй эмес, бирок сиз PB4 колдонууну каалашыңыз мүмкүн. Менин учурда менин сервомду ошол жерге койгом жана бул чындап эле көйгөй жаратпайт, анткени мен аларды бир убакта колдонбойм.

Бирок, эгер сиз 328 сыяктуу башка микроконтроллерди колдонууну кааласаңыз жана PB4 жана PB5 жана PB6 жана PB7ге жазуудан качкыңыз келсе, масканы 0-3 битке чейин жазуу үчүн колдонуңуз. Бул үчүн маска B00001111.

Эгерде сиз биттердин 0 жана 2 биттерин орноткуңуз келсе, төмөнкүчө өтүңүз:

PORTB = 5 ордуна, мындай деп жазыңыз: PORTB = (PORTB & ~ маска) | (B00000101);

Муну өтө сырдуу деп эсептегендер үчүн:

ал биринчи кезекте NOT маскасы бар PORTBтин маанисин жана ЖЕ жыйынтыгын биз жазгысы келген мааниге ээ кылат жана аны кайра PORTBге дайындайт.

Ошентип, PORTB = 00010000 дейли жана биз ага 00000101 жазууну каалайбыз, муну дароо бере албайбыз, анткени бул PB4 тазалайт.

Бирок, эгер биз сүрөттөлгөндөй кылсак, анда ал төмөнкүдөй болот:

PORTB = (PORTB & 11110000) | 00000101

PORTB = (00010000 & 11110000) | 00000101

PORTB = 00010000 | 00000101

ПОРТБ = 00010101

Биз өз баабызды жаздык жана PB4 сактадык

Демек, эмне үчүн биз аны ЖАНА ЖАНА анын ордуна биз каалаган баага дароо ЖЕ ПОРТБОЙ албайбыз?

Ооба, анткени бул PB4 жана PB5ти сактап калышы мүмкүн … бирок PB3-PB0 өзгөрбөйт, эгерде алардын биринде мурунтан эле "1" болсо

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

4 -кадам: "Үйдө жалгыз" Уурулукка бөгөт коюу: Колдонуу

Анын иштешин көрүү үчүн видеону көрүңүз (ал -90 градуска бурулду, кечирим сурайм)

Бул аппараттын максаты - көшөгө же жалюзи боюнча кыймылдуу көлөкөлөрдү ыргытуу. Ошондуктан жарык пардалар менен эң жакшы иштейт. Түзмөктүн өзү сырттан көрүнбөшү керек. Анын артында жарык булагы бар экенин текшериңиз. Мен бул түзүлүш үчүн дубалдын PSUсун камсыз кылган розеткадагы Remote Switchке RF сигналын жөнөтүү менен көзөмөлдөйм, бирок таймерди колдонсоңуз болот.

5 -кадам: "Үйдө жалгыз" эмне иштеген жок ……

Бул видео менин чоңураак тулкусу жана жөнөкөй сервосу менен мурунку эксперименттеримдин бирин көрсөтөт. Албетте, жакшы дизайн эмес

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