Мазмуну:

Arduino үчүн робот жип таркатуучу: 8 кадам (сүрөттөр менен)
Arduino үчүн робот жип таркатуучу: 8 кадам (сүрөттөр менен)

Video: Arduino үчүн робот жип таркатуучу: 8 кадам (сүрөттөр менен)

Video: Arduino үчүн робот жип таркатуучу: 8 кадам (сүрөттөр менен)
Video: How to use Prototyping Shield with breadboard for Arduino 2024, Ноябрь
Anonim
Image
Image

Эмне үчүн моторлоштурулган курал

3D принтерлердин жипчеси - көбүнчө дээрлик бекем - экструдер тарабынан тартылып алынат, ал эми түрмөк принтердин жанына жайгаштырылган, айлануу эркин. Мен 1кг жип түрмөкчөлөрүнө карата колдонуунун деңгээлине жараша материалдык жүрүм -турумда олуттуу айырмачылыктарды байкадым. Жаңы (толук) жип түрмөк дээрлик жакшы агат, бирок экструдер тарабынан колдонулган күч салыштырмалуу тиешелүү болушу керек: салмагы кеминде 1,5 кг.

Экструдердин мотору (көпчүлүк учурларда Nema17 степпери) жумушту аткарууга жетиштүү күчкө ээ, бирок экструдердин эки тиштери иштөө учурунда жиптин бөлүкчөлөрүн колдонулган күчтөрдүн эсебинен чогултат; бул мурундун бүтөлүп кетпеши үчүн экструдерди тез -тез тейлөөнү талап кылат. Бул бөлүкчөлөр таза жип менен азыктануу учурунда ажырап кетет жана аралашат, муун көйгөйлөрүн көбөйтөт жана мурундун тез -тез эскиришине алып келет; Бул диаметри 0,3 мм болгон мурундарда көбүрөөк кездешет.

Жип түрмөк жарымы же андан көп колдонулганда анын спиралдары кичирейет жана кээ бир экологиялык шарттарда жип өтө тез бузулат. Узак басуу жумуштары азыраак ишенимдүү жана стресстүү болуп калат; Принтерди көзөмөлдөбөстөн түнү бою жалгыз иштей албайм. Ошентип, бир катар маселелерди чечүүчү мотор фигуралары аркылуу жипти азыктандырууну көзөмөлдөө.

Бул комплект Tindie.com сайтында жеткиликтүү

1 -кадам: Комплект Мазмуну

Kit Мазмуну
Kit Мазмуну
Kit Мазмуну
Kit Мазмуну

Бул комплект моторлоштурулган жип диспенсерин чогултуу үчүн бардык 3D басылган бөлүктөрдү жана механиканы камтыйт. Анын ордуна эки кошумча бөлүк бар: мотор жана мотор контролеру.

Менин орнотуумда мен 12 В McLennan тиштүү щеткалуу моторду колдондум, бирок 37 мм диаметри бар мотор колдоого туура келиши мүмкүн.

Эң мыкты көрсөткүчтөр Infineon тарабынан TLE94112LE Arduino калканы менен жетет (толук кароо бул жерде); бул DC мотор контролеру такта бир эле убакта 6 түрдүү роботтук диспенсердик комплектти колдой алат.

Мен Infineon тарабынан Arduino UNO R3 жана Arduino шайкеш келген XMC1100 Boot комплектинде бүт системаны сынап көрдүм жана система микро контроллер такталары менен абдан жакшы жооп берди.

TLE94112LE калканчын колдонуу сунушталат, бирок маанилүү эмес. Ардуино үчүн каалаган DC мотор контроллери - анын ичинде өз долбооруңуз! - бул курал менен жакшы иштей алат

Бул комплект эки бөлүккө бөлүнөт, анткени эки бөлүк чогуу иштөө үчүн курулган. Негизги платформа төрт акысыз дөңгөлөктүү подшипниктерде айлануучу жип түрмөгүн колдойт. Базанын айлануу механизмин көзөмөлдөө үчүн салмагы сенсоруна бекитилет, ошондой эле жипченин шарттарын көзөмөлдөйт: салмагы, метр жана пайыз. Көптөгөн маалыматтарга, ошондой эле толук командалык топтомго Arduinoдон сериялык терминал аркылуу жетүүгө болот.

Сизге керектүү шаймандар

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

2 -кадам: Долбоор жана Дизайн

Долбоор жана Дизайн
Долбоор жана Дизайн
Долбоор жана Дизайн
Долбоор жана Дизайн
Долбоор жана Дизайн
Долбоор жана Дизайн

Бул долбоор 3D принтер жип тараткыч сериясынын үчүнчү эволюциясы. Кээде мен 3D принтер экструдери тартканда жиптин агымын оптималдаштыруу үчүн айлануучу базаны түзгөм.

Экинчи моделге Arduino тактасы менен жиптердин колдонулушун реалдуу убакытта көзөмөлдөө үчүн салмак сенсору камтылган. Бул акыркы долбоор 3D принтеринин жумушунун муктаждыгына жараша жипти автоматтык түрдө чыгарууну камтыйт. Бул экструдер жипти тарта баштаганда виртуалдык салмактын өзгөрүшүнө негизделген. Бул окуя микроконтроллерди салмак сенсору аркылуу иштетет жана моторлоштурулган жип түрмөк бир аз дюймдук материалды кое баштайт, андан кийин жайлайт жана токтойт.

Компоненттер STL форматында экспорттолгон жана 3D басып чыгарылган, андан кийин тазаланган жана чогуу чогултулган. Мен кыймылдын бөлүгүн базага тегиздөө үчүн бажы колдоосун түздүм. Узунураак Алюминий темир жолу Arduino жана мотор калканчын колдоо үчүн колдонулуп, бардык куралды компакттуу жана оңой жылдырат.

Дизайнды түзүүдө мен бир катар божомолдорду аткардым:

  • Автоматташтырылган моторду дээрлик жөнөкөй жана оңой чыгаруу
  • Аны жасоо үчүн 3D эмес басып чыгарылуучу компоненттердин санын мүмкүн болушунча азайтыңыз
  • Басып чыгаруу учурунда экструдерге колдонулуучу стрессти мүмкүн болушунча азайтыңыз
  • Микро контролерлор тактасын программалоо үчүн арзан жана арзан колдонуңуз
  • Жипти керектөөнү жана жипти азыктандырууну көзөмөлдөп туруу үчүн салмагы жүктөө сенсорун колдонуңуз.

Бул мен жеткен жыйынтык.

3 -кадам: базаны чогултуу

Базаны чогултуу
Базаны чогултуу
Базаны чогултуу
Базаны чогултуу
Базаны чогултуу
Базаны чогултуу

Биринчи кадам - салмагы сенсор менен базаны чогултуу.

  1. Чакан подшипник огунун түтүгүн подшипник тешигине салыңыз
  2. Эки бөлүүчү дискти подшипниктин капталына коюңуз
  3. Тешиктерди тегиздөөчү "U" өлчөмдүү подшипниктин ичиндеги компоненттерди киргизүү
  4. Аллендин бурамасын бир жагына, ал эми шайбаны жана гайканы экинчи тарапка өтө көп күч жумшабай гайканы жаап салыңыз

Сиз операцияны төрт подшипник таянычында кайталашыңыз керек. Андан кийин куралды сынап көрүңүз: подшипниктер эркин айланышы керек.

Эми Аллендин бурамалары менен үстүңкү базанын төрт таянычын төрт жөндөө тешиги менен оңдоңуз. Подшипниктерди параллелдүү кармоо үчүн аларды тегиздеңиз. Сиздин жип түрмөктөрүңүздүн туурасына жараша аралыкты жөнгө салыңыз.

Кийинки кадам - астынкы жана үстүңкү базаны бириктирген салмагы сенсор тилкесин чогултуу. Салмагы сенсордун эки жагында эки башка Аллен бурамалары бар жана сиз аны эң туура салганда максималдуу салмак энбелгиси окула тургандай кылып бурушуңуз керек. Астыңкы базада салмак сенсорунун A/D күчөткүчүн оңдоо үчүн эки кошумча каптал тешиги бар. HX711 ICге негизделген күчөткүч Arduino тактасына тиркелген сенсор маалымат баракчасында көрсөтүлгөндөй төрт зым аркылуу туташтырылат.

Акыркы кадам - астынкы бөлүгүнө орнотулган салмагы сенсорунун үстүнөн толук базаны чогултуу.

Биринчи компонент орнотулду!

4 -кадам: Spool Motion Engine тетиктерин чогултуу

Кыймылдаткыч кыймылдаткыч бөлүктөрүн чогултуу
Кыймылдаткыч кыймылдаткыч бөлүктөрүн чогултуу
Кыймылдаткыч кыймылдаткыч бөлүктөрүн чогултуу
Кыймылдаткыч кыймылдаткыч бөлүктөрүн чогултуу
Кыймылдаткыч кыймылдаткыч бөлүктөрүн чогултуу
Кыймылдаткыч кыймылдаткыч бөлүктөрүн чогултуу

Кыймылдаткыч кыймылдаткычын чогултуунун эң оңой процедурасы эң маанилүү төрт компонентти өзүнчө чогултуу, андан соң акыркы имаратты бүтүрүү:

Мотор берүү кутусунда тиштүү DC мотор

DC мотору структураны колдоонун борбордук бөлүгүнө орнотулушу керек; Моторду буроодон мурун, моторду кармап турган эки колду жана чоң редукторду туура тегиздөө үчүн редукторду кайсы жакка коюу керектигин чечишиңиз керек.

Чоң кыймылдаткыч

Чоң тиштүү төрт Аллен бурама менен кесилген конус блок менен бурап керек. Бул тиш айлануучу огунда гайкалар менен бөгөлөт; конустук бөлүк башка кесилген конустук блоктун ичине окшош кулпу гайкалар менен башка жакка бекитилген жип спулун кармап турат. Бул чечим кыймылдоочу механизмди гана кармап турбастан, бардык оорчулукту базага багыттайт жана бул системанын таразасынын салмагы.

Катуу кармагыч

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

Сүрөттөрдө көрүнүп тургандай, кулпулоочу кармагыч эки бөлүктөн турат. Адегенде M4 гайкасын блоктун чоң бөлүгүнө салыңыз, андан кийин блокторду бирге кармаган экинчи бөлүгүн (капкагын) жабыштырыңыз. Гайка жип менен башкарылган огуна бурула турган кулпу кармагычтын ичинде камакта кала берет.

Подшипниктер кутусу

Подшипниктин эки функциясы бар: берүү тиштерине жакшы колдоо көрсөтүү жана жылмакай жана үнсүз кыймыл. Подшипник кутусун чогултуу үчүн бул жөнөкөй кадамдарды аткарыңыз:

  1. Биринчи M4 гайкасын бурама кармагычтын сүйрөлгөн огунун эки учунун бирине сайыңыз
  2. Биринчи подшипникти салыңыз
  3. Сепараторду салыңыз
  4. Экинчи подшипникти салыңыз
  5. Экинчи гайканы бурап, орточо деңгээлде бекиңиз. Ички пластикалык сепаратор нерселерди өз ордунда кармап туруу үчүн жетиштүү күчкө каршы чыгат, ошондой эле узак убакыт бою колдонулат.
  6. Чогулган подшипниктерди подшипник кутусуна салыңыз. Пластикалык бөлүктөрдү тазалоодо кутунун ичин өтө эле кеңейтпеңиз, жакшы натыйжаларды берүү үчүн мажбурлоо керек.

Биз акыркы компоненттерди чогултууга даярбыз!

5 -кадам: Кыймылдаткычтын курамын бүтүрүү

Кыймылдаткычтын курамын бүтүрүү
Кыймылдаткычтын курамын бүтүрүү
Кыймылдаткычтын курамын бүтүрүү
Кыймылдаткычтын курамын бүтүрүү
Кыймылдаткычтын курамын бүтүрүү
Кыймылдаткычтын курамын бүтүрүү

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

Эскертүү: кутунун капкагын жабыштырбаңыз, аны бурап гана коюңуз. Капкак чаңдан коргоо үчүн маанилүү жана келечектеги тейлөө операциялары үчүн алынышы керек.

Кыймылдаткычты (чоңураакты) кошуудан мурун бул орнотуу аяктаганда, кичинекей бөлгүч шакегин кошуңуз: ал чоң тишти кыймылдаткычтын шайманы менен шайкештирип, кыймылдаткычтын кыймылдаткычын оңдоо үчүн жуугуч катары иштейт.

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

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

Механиканын имараты бүтүп калды!

6 -кадам: Бонус: Мен комплектти башкаруу үчүн колдоону кантип ыңгайлаштырдым

Бонус: Мен комплектти башкаруу үчүн колдоону кантип ыңгайлаштырдым
Бонус: Мен комплектти башкаруу үчүн колдоону кантип ыңгайлаштырдым
Бонус: Мен комплектти башкаруу үчүн колдоону кантип ыңгайлаштырдым
Бонус: Мен комплектти башкаруу үчүн колдоону кантип ыңгайлаштырдым
Бонус: Мен комплектти башкаруу үчүн колдоону кантип ыңгайлаштырдым
Бонус: Мен комплектти башкаруу үчүн колдоону кантип ыңгайлаштырдым

Топтомду ордунда кармоо үчүн мен базаны да, кыймыл структурасын да колдоо үчүн эки Алюминий чарчы түтүктүн негизинде абдан жөнөкөй түзүлүштү түздүм. База эки рельстин төрт бурамасы менен бекитилген (узундугу 25 смдей) жана кичинекей 3D басылган тирөөчтөрдүн жардамы менен жип түрмөктүн киргизилишин жана алынышын жеңилдетүү үчүн кыймылдаткычты бекер жылдырам.

Ар ким өзүнүн жумушчу столунун уюштурулушуна жараша өзүнүн чечимин тандай алат.

7 -кадам: Ардуиного зым жана туташуу

Image
Image
Ардуиного зым жана туташуу
Ардуиного зым жана туташуу

Kit мазмунунун кадамында түшүндүрүлгөндөй, мен Arduino үчүн Infineon TLE94112LE DC мотор калканчын колдондум жана моторду Arduino UNO R3 жана Infineon XMC110 жүктөө комплектинде сынап көрдүм.

Эгерде сиз моторду башкара турган болсоңуз (PWM өзгөчөлүктөрү керек) сиз тандаган DC контролеру менен, көрсөтмөлөрдү калканыңыздын техникалык өзгөчөлүктөрүнө ылайыкташтырыңыз.

TLE04112LE Arduino Shield боюнча нота

Мен Arduino үчүн башка мотор башкаруу калкандары менен башыман өткөргөн чектердин бири, алар ошол эле микро контроллердин өзгөчөлүктөрүн колдонушат (б.а. PWM жана GPIO казыктары); бул сиздин тактаңыз бул милдеттерге арналганын билдирет, ал эми башка ресурстар (MPU жана GPIO) башка максаттар үчүн жеткиликтүү.

Жол сыноо үчүн TLE94122LE Arduino калканына кол коюу мүмкүнчүлүгүнө ээ болгон, тактанын негизделген ICнин эң көрүнүктүү артыкчылыгы анын толуктугу. Arduino тактасы калканга SPI протоколу аркылуу эки гана казыкты колдонуп байланышат. Сиз калканга жөнөткөн ар бир буйрук MPU ресурстарын колдонбостон, TLE94112LE IC тарабынан автономдуу түрдө иштетилет. Infineon тактасынын дагы бир кереметтүү өзгөчөлүгү PWMдин үч программалуу каналы менен алтыга чейин моторду башкаруу мүмкүнчүлүгү. Бул Arduino бир же бир нече моторду орнотуп, аларды иштетип, башка тапшырмаларды аткарууну уланта алат дегенди билдирет. Бул калкан бир эле учурда алты түрдүү жип түрмөктөрүн колдоо үчүн кемчиликсиз ачылды, анын кыймылы MPUга жүктөлгөн милдеттердин бири болуп саналат. Бир эле Arduino + калкан менен микро контролердун чыгымдарынын таасирлери менен алты түрдүү жип катушкасын башкаруу мүмкүнчүлүгүн кароо. ар бир жип контроллери боюнча 5 Евродон аз.

Салмагы сенсор

Кээ бир эксперименттерди жасагандан кийин, бүт системаны көзөмөлдөө мүмкүн экенин көрдүм - мониторинг жана автоматтык тамактандыруу - бир сенсор менен; жүк клеткасы (салмак сенсору) бизге керектүү болгон бардык маалыматты берүүчү жип ийрүүчү салмагынын өзгөрүүсүн динамикалык түрдө өлчөй алат.

Мен 0-5 кг диапазонунда арзан жүктөө клеткасын колдонгон элементер, HX711 AD Amplifier, чакан тактайга негизделген, IC клеткаларынын сенсорлорун башкаруу үчүн. Интерфейс көйгөйлөрү болгон жок, анткени ал жакшы иштеген Arduino китепканасы.

Аппаратты орнотуу үчүн үч кадам

  1. Калканды Arduino тактасынын же Infineon XMC110 Boot Kitтин үстүнө кыстарыңыз
  2. Мотор зымдарын калканчтын Out1 жана Out2 бурамалуу коннекторлоруна туташтырыңыз
  3. HX711 AD салмагы сенсорунун күчөткүчүнүн күчүн жана сигналдарын Arduino казыктарына туташтырыңыз. Бул учурда мен 2 жана 3 төөнөгүчтөрдү колдондум, бирок бардык бекер казыктар жакшы.

Эскертүү: 8 жана 10 -беттер SPI туташуусу үчүн TLE94113LE калканы менен корголгон

Баары болду! Программаны орнотууга даярсызбы? Уланта бер.

8 -кадам: Программалык камсыздоо жана башкаруу буйругу

Программалык камсыздоо жана башкаруу буйругу
Программалык камсыздоо жана башкаруу буйругу
Программалык камсыздоо жана башкаруу буйругу
Программалык камсыздоо жана башкаруу буйругу
Программалык камсыздоо жана башкаруу буйругу
Программалык камсыздоо жана башкаруу буйругу
Программалык камсыздоо жана башкаруу буйругу
Программалык камсыздоо жана башкаруу буйругу

Толук документтештирилген программалык камсыздоону GitHub 3DPrinterFilamentDispenserAndMonitor репозиторийинен жүктөп алсаңыз болот

бул жерде биз эң маанилүү бөлүктөрдү жана башкаруу буйруктарын гана карайбыз.

Мен системаны USB сериялык терминалы аркылуу башкарууну чечтим Arduino UNO боюнча жеткиликтүү казыктардын санынын бир себеби бар; Ар бир моторлоштурулган агрегат салмак сенсоруна негизделгендиктен, алты түрдүү жип диспенсерин көзөмөлдөө алты салмак сенсорунун маалыматын окууну талап кылат. Ар бир жүк клеткасы эки төөнөгүчтү "керектейт", пин 0 жана 1 сериал үчүн корголгон (Tx/Rx) жана 8 жана 10 -пиндер TLE94112LE калканчын туташтырган SPI каналы үчүн корголгон.

Системанын абалы

Башкаруу программасы filament.hде аныкталган төрт башка мамлекет аркылуу иштейт:

#define SYS_READY "Даяр" // Система даяр

#аныктоо SYS_RUN "Running" // Filament колдонууда #define SYS_LOAD "Load" // Roll loaded #define SYS_STARTED "Started" // Колдонмо башталды // Статус коддору #STAT_NONE 0 #аныктоо STAT_READY 1 #аныктоо STAT_LOAT_ 2 #define 3

Статус: башталды

Бул абал аппараттык абалга келтирилгенден кийин же тутум күйгүзүлгөндө пайда болот. Күйгүзүү (жана эскиз баштаганда орнотуу () чалуусу) ички демейки маанилерди баштайт жана инициализация ырааттуулугунун бир бөлүгү катары платформада эч кандай кошумча салмаксыз баштоо керек, физикалык нөлдүк салмакка жетүү үчүн абсолюттук тараны алуу..

Статус: Даяр

Даяр абал жумшак абалга келтирилгенден кийин пайда болот (сериялык терминалдан жөнөтүлгөн). Бул физикалык резекцияга окшош, бирок тара эсептелбейт; баштапкы абалга келтирүү буйругу система иштеп турганда да ишке киргизилиши мүмкүн.

Статус: Жүк

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

Статус: иштеп жатат

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

Терминалдык билдирүүлөр

Программанын учурдагы версиясы буйруктарга жараша адам окуй турган билдирүүлөрдү терминалга кайтарат. Сап кабарлары эки файл файлында аныкталат: commands.h (буйрукка байланыштуу билдирүүлөр жана жооптор) жана filament.h (талдоочу татаал билдирүүлөрдү түзүү үчүн колдонулган саптар).

Буйруктар

Команданы башкарууда эки башка файл катышат: commands.h анын ичинде бардык буйруктарды жана тиешелүү параметрлерди жана filament.h, анын ичинде салмактуулук тутуму жана талдоочу колдонгон бардык константаларды жана аныктамаларды.

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

Командалык ачкыч сөздөр чоң -кичине сезгич жана терминалдан жөнөтүлүшү керек. Эгерде буйрук анын учурдагы абалына туура келбесе, анда ката буйрук билдирүүсү кайтарылат, бирок буйрук аткарылат.

Статус буйруктары

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

Filament буйруктары

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

Бирдиктердин буйруктары

Бул өлчөө бирдиктеринин визуализациясын грамм же сантиметрге орнотуу үчүн бир нече буйрук. Чындыгында, бул буйруктарды жок кылууга жана ар дайым эки бирдикте маалыматтарды чагылдырууга болот.

Маалымат командалары

Системанын абалына жараша маалымат топторун көрсөтүү

Мотор командалары

Моторду жипке тоют берүү же тартуу үчүн башкарыңыз.

Бардык мотор командалары ылдамдануу/жайлоо жолун карманышат. Feedc жана pullc командалары токтотуу буйругу алынмайынча чексиз иштейт, ал эми эки буйрук берүү жана тартуу motor.hде FEED_EXTRUDER_DELAY тарабынан аныкталгандай кыска ырааттуулукту аткарат.

Иштетүү режими командалары

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

Принцип бул өзгөчө чөйрөгө контексттелген салмак көрсөткүчтөрүнө негизделген. Биз жипти керектөө салыштырмалуу жай болот деп күтөбүз, 3D принтерлери дээрлик жай жана кадимки салмактын термелүүсү айлана -чөйрөнүн термелүүсүнө жараша болот (эгер сиз бүт нерсени 3D принтерине салбасаңыз жакшы)

Экструдер жипти тарткандын ордуна, салмагы айырмасы өтө аз убакыттын ичинде кескин түрдө көбөйөт (50 г же андан көп), адатта эки же үч окуунун ортосунда. Бул маалымат жаңы жип керек экенин "чыгарып салуучу" программалык камсыздоо тарабынан чыпкаланат. Мотор иштеп жатканда туура эмес көрсөткүчтөргө жол бербөө үчүн, салмактын өзгөрүүсүнө көңүл бурулбайт.

Колдонмо логикасы

Колдонмонун логикасы.ino main (Arduino эскизинде) үч функция боюнча бөлүштүрүлөт: setup (), loop () жана parseCommand (commandString)

Эскиз эки өзүнчө классты колдонот: FilamentWeight классы TLE94112LE Arduino калканынын төмөнкү деңгээлдеги методдору менен HX711 IC жана MotorControl классы аркылуу бардык жиптердин эсептөөлөрүн жана сенсордук окуусун башкаруу үчүн.

жайгашуу()

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

цикл ()

Негизги цикл функциясы үч башка шартты башкарат.

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

  1. Экструдерге көбүрөөк жип керек болсо, текшериңиз (автоматтык режимде)
  2. Эгерде мотор иштеп жатса, аппараттык каталарды текшериңиз (TLE94112LE тарабынан кайтарылган)
  3. Эгерде сериялык маалыматтар бар болсо, анда буйрукту талдаңыз

parseCommand (commandString)

Талдоо функциясы сериалдан келген саптарды текшерет жана буйрук таанылганда ал дароо иштелип чыгат.

Ар бир буйрук системанын кээ бир параметрлерине таасир этүүчү мамлекеттик машина катары иштейт; Бул логикага ылайык, бардык буйруктар үч ырааттуу аракетке чейин кыскарат:

  1. FilamentWeight классына (салмак буйруктары) же MotorControl классына (мотор командалары) буйрук жөнөтүү
  2. Салмактуу маанилерди жаңыртуу же ички параметрлердин бирин жаңыртуу үчүн эсептөөнү аткарат
  3. Аткаруу аяктаганда терминалда жана маалыматтын чыгуусунда көрсөтүңүз

HX711 Arduino китепканасын орнотуңуз, программаны GitHubдан жүктөп алып, Arduino тактаңызга жүктөңүз, андан ырахат алыңыз!

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