Мазмуну:

CNC бөлүгүн тандоо машинасы: 9 кадам (сүрөттөр менен)
CNC бөлүгүн тандоо машинасы: 9 кадам (сүрөттөр менен)

Video: CNC бөлүгүн тандоо машинасы: 9 кадам (сүрөттөр менен)

Video: CNC бөлүгүн тандоо машинасы: 9 кадам (сүрөттөр менен)
Video: Marlin Firmware 2.0.x Explained 2024, Ноябрь
Anonim
CNC бөлүгүн тандоо машинасы
CNC бөлүгүн тандоо машинасы

Эгерде сиз мен сыяктуу олуттуу жаратуучу болсоңуз, анда сизде сансыз көп резисторлор, конденсаторлор жана башка ар кандай электрондук компоненттер болот. Бирок бир чоң көйгөй бар: кантип же канча нерсеси бар экенин кантип көзөмөлдөө керек? Бул маселе үчүн мен CNC машинасын түздүм, ал MySQL маалымат базасынан маалымат алат, андан кийин барып, суралган нерсени алат. Маалыматтар базасынын арткы бөлүгүнөн тышкары, мен колдонуучуларга кирүүгө, андан кийин бөлүктөрдүн категорияларын түзүүгө, жаңы бөлүктөрдү кошууга жана бөлүктөрдүн санын өзгөртүүгө мүмкүндүк берген веб-баракча жасадым. Ошентип, ар бир нерсени эсепке алса болот, акцияларды башкаруу системасы сыяктуу.

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

  • Arduino UNO & Genuino UNO
  • Машинанын бурамалары: 8мм, 3мм, 4мм
  • MOSFET N-каналы
  • Түзөткүч диод 1N4001
  • Step Motor NEMA 17 x2
  • Stepper Motors x2 үчүн DRV8825 драйвери
  • Конденсатор 100 µF x2
  • DFRobot Servo Gripper
  • DFRobot Убакыт куру x2
  • DFRobot 5MM Timing Pulley x2
  • DFRobot Linear Bearing 6mmx12mm x2
  • DFRobot Ball Bearing 8mmx12mm

1 -кадам: Теория

Image
Image

Бул системанын негизи инвентаризацияны эсепке алуу болуп саналат. Мисалы, кимдир бирөө 20 Arduino Uno тактасын сатып алса, алар бул сумманы маалымат базасынын үстөлүнө оңой эле кошуп коюшу мүмкүн. Категория "Arduino", "Uno" аталышы жана 20 саны болмок. Бир нече адамдар үчүн бул бөлүктүн ээси аны кошкон адамдын колдонуучу аты болмок. Бул бөлүк анын тордо жайгашкан жери жөнүндө маалыматтарды да камтыйт. Бөлүмдүн суммасы өзгөргөн сайын CNC машинасы ошол бөлүктү тандап, колдонуучуга берет.

2 -кадам: Маалыматтар базасы

Маалыматтар базасы
Маалыматтар базасы
Маалыматтар базасы
Маалыматтар базасы

Мага Python да, PHP да кире турган баардык жердеги маалымат базасы керек болчу. Бул ошондой эле MySQLди мыкты маалымат базасы серверине айлантып, көп колдоолор менен колдонууга оңой болушу керек болчу. Мен https://dev.mysql.com/downloads/windows/installer/ сайтынан mysql орнотуучусун жүктөө менен баштадым, анан аны иштеттим. Мен серверди (албетте), ошондой эле жумушчу тактаны, кабыкты жана коммуналдык кызматтарды орнотууну чечтим. Колдонуучунун атын жана сырсөздү тандап жатканда, аны унутпаңыз, анткени ошол эле грамоталар PHP файлдарынын баарында жана Python скриптинде керек. Серверди иштеткенден кийин аны фондук процесс катары иштетүүгө мүмкүнчүлүк бериңиз, андыктан ал ар дайым активдүү болот. Мындан ары баары жазылышы керек жана менде болгондой тартипте. Андан кийин, "компоненттер" деп аталган жаңы маалымат базасын (схемасын) түзүңүз. Андан кийин төмөнкү таблицаларды кошуңуз: "категориялар", "бөлүктөр" жана "колдонуучулар". Категориялар таблицасына төмөнкүдөй мамычаларды так тартипте кошуңуз: "id" -int (11), PK, AI; "name" -varchar (45); "ээси" - varchar (45).

Бөлүктөр таблицасына төмөнкүдөй мамычаларды так иретинде кошуңуз: "id" -int (11), AI, PK; "category" -varchar (45); "name" -varchar (45); "саны" -int (11); "ээси" -варчар (45); "locationX" -int (11); "locationY" -int (11);

Колдонуучулар таблицасына төмөнкүдөй мамычаларды так тартипте кошуңуз: "id" -int (11), AI, PK; "username" -varchar (45); "password" -varchar (128);

3 -кадам: Apache орнотуу

Apache орнотуу
Apache орнотуу
Apache орнотуу
Apache орнотуу
Apache орнотуу
Apache орнотуу

Мен түзгөн веб -баракчалар HTML, CSS, Javascript жана PHPди колдонот. Http://www.apachelounge.com/download/ сайтынан apacheтин акыркы версиясын жүктөө менен баштаңыз жана папканы C: / директориясына жылдырыңыз. Андан кийин, PHPти https://windows.php.net/download#php-7.2ден жүктөп алыңыз жана анын Thread Safe версиясы экенине ынаныңыз. Аны ачып, атын "PHP" деп өзгөртүп, C: / каталогуна жылдырыңыз. Андан кийин C: / Apache24 / conf / httpd.conf кирип, аны түзөтүңүз. Бөлүмдүн астына төмөнкү саптарды кошуңуз:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler тиркемеси/x-httpd-php.php

PHPIniDir "C:/PHP"

Андан соң бин папкасында жайгашкан httpd.exe файлын иштетүү менен сервериңизди текшериңиз. Браузериңиздеги "localhost/" бөлүмүнө баш багыңыз жана салам дүйнөлүк баракчасы пайда болорун көрүңүз. Эгер ошондой болсо, анда сизде азыр жергиликтүү веб -сервер бар.

4 -кадам: PHP орнотуу

PHP орнотуу
PHP орнотуу
PHP орнотуу
PHP орнотуу

PHP үчүн MySQLти орнотуу үчүн бир нече нерсени жасоо керек. Биринчиден, "php.ini-recommended" дегенди "php.ini" деп өзгөртүп, анан блокнотто ачыңыз. Кеңейтүүлөр бөлүмүнө өтүңүз жана PHPтин MySQL сервери менен баарлашуусуна мүмкүндүк берген "extension = php_mysqli.dll" кошуңуз же комментарий жазыңыз. Эми httpd.exe файлын өчүрүп күйгүзүңүз жана "phptest.php" деп аталган жаңы файл түзүп, файлга салыңыз. Эми localhost/phptest.php баракчасына кирип, браузериңиздин маалыматы пайда болорун карап көрүңүз.

5 -кадам: Машинаны долбоорлоо

Машинаны долбоорлоо
Машинаны долбоорлоо
Машинаны долбоорлоо
Машинаны долбоорлоо
Машинаны долбоорлоо
Машинаны долбоорлоо

Мен Fusion 360тын негизги бөлүктөрүн түзүүдөн баштадым: 6мм таяк, сызыктуу подшипник жана тепкичтүү мотор. Андан кийин мен уяны түзүү үчүн эки таякты жайып, ошондой эле тепкичтин мотору менен подшипнигинин айланасына убакыт курун тагып койгом. Мен ошондой эле х огун коштум. Мен андан кийин 3D бөлүгүн ар кандай бөлүктөрдү басып чыгара баштадым, ошондой эле CNC эки капталдагы панелди башкарды.

6 -кадам: Машинаны жасоо

Машинаны жасоо
Машинаны жасоо
Машинаны жасоо
Машинаны жасоо
Машинаны жасоо
Машинаны жасоо

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

7 -кадам: Arduino коду

Arduino коду
Arduino коду

Бул машинанын негизи GRBL болчу. Коддун башталышы ар кандай параметрлерди тизмектейт, мисалы, айлануудагы аралык, ордун басуу жана көлөм. Мен DRV8825 тепкичтүү мотор драйверлерин көзөмөлдөө үчүн BasicStepperDriver китепканасын колдондум. Степпер драйверлери 1/32 микро-кадамды колдонуп, токтомду жогорулатат. Машина "жүктөлгөндө", ал ар бир огу чектүү которгучту басканга чейин басуучу хомининг тизмегинен өтөт. Андан кийин ал офсеттин негизинде белгиленген жерге жылат жана жайгашкан жерди 0, 0 деп коёт. Эми ал сериал аркылуу жылдыруу буйругун алганда, ошол торго өтөт.

8 -кадам: Python программасы

Мен Flaskты негизги веб -сайттан GET сурамдарын ала турган веб -сервер катары колдонууну чечтим. Сурамдар бөлүктүн аталышынан жана категориясынан турат. Flask аны иштеткенден кийин, маалыматтар талданат, андан кийин MySQL сервери бөлүктүн жайгашкан жерин билүү үчүн суралат. Андан кийин python скрипти бөлүктүн кайда экенин көрсөтүү менен Arduino командасын жөнөтөт.

9 -кадам: Бөлүктү тандагычты колдонуу

Бөлүк тандагычты колдонуу
Бөлүк тандагычты колдонуу
Бөлүк тандагычты колдонуу
Бөлүк тандагычты колдонуу
Бөлүк тандагычты колдонуу
Бөлүк тандагычты колдонуу
Бөлүк тандагычты колдонуу
Бөлүк тандагычты колдонуу

Мен веб -сайт файлдарын менин github репозиторийимде бердим: https://github.com/having11/cnc_part_picker_webpages PHP файлдарыңыздагы жок болгон параметрлерди конкреттүү MySQL сервериңизге алмаштырыңыз. Файлдарды Apache папкасындагы htdocs папкасына салыңыз. Жөн гана python скриптин иштетип, анан бөлүктүн суммасы өзгөргөн сайын машина ошол жерге барып, аны алат. Бул жерде 3D басып чыгаруу файлдарын жана веб -баракча файлдарын табыңыз.

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