Мазмуну:

Магниттик дубал сааты: 24 кадам (сүрөттөр менен)
Магниттик дубал сааты: 24 кадам (сүрөттөр менен)

Video: Магниттик дубал сааты: 24 кадам (сүрөттөр менен)

Video: Магниттик дубал сааты: 24 кадам (сүрөттөр менен)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Июль
Anonim
Магниттик дубал сааты
Магниттик дубал сааты
Магниттик дубал сааты
Магниттик дубал сааты

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

Бул минимализм дубал сааты классикалык жаңгак шпонунун артында магниттерди айландыруучу арзан баскычтуу моторлор менен башкарылган 3D басылган шакек тиштерин жашырат.

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

Сүрөт
Сүрөт

1 -кадам: Куралдар жана материалдар

Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар

Материалдар:

  • 13 x 13 x 2 дюйм. Фанера/ДСП (Мен 3 даана жыгач сыныгын жабыштырдым)
  • 13 x 13 дюйм. Hardboard
  • Arduino Nano
  • Реалдуу убакыт сааты
  • Stepper Motors жана Айдоочулар
  • Hall Effect Sensors
  • Магниттер
  • Power Cable
  • AC адаптери
  • Плагин
  • Ассорти машина бурамалары
  • Ассорти жыгач бурамалар
  • 3D Басылган бөлүктөрү (Акыркы кадам)
  • Шпон (12 x 12 дюйм - бет, 40 дюйм узун тилке)
  • Спрей лак
  • Black Spray Paint

Куралдар:

  • 3D принтер
  • Компас
  • X-acto бычагы
  • Желим
  • Кыскычтар
  • Circle Cutting Jig
  • Hack Saw
  • Disc Sander
  • Ратчет кыскычы
  • Чисель
  • Башкаруучу
  • Sander
  • Көнүгүүлөр
  • Бурамалар
  • Кандооч
  • Hot Glue Gun

2 -кадам: жыгач алкакты бирге чаптаңыз

Желектин бирдиктүү клейи
Желектин бирдиктүү клейи
Желектин бирдиктүү клейи
Желектин бирдиктүү клейи
Желектин бирдиктүү клейи
Желектин бирдиктүү клейи
Желектин бирдиктүү клейи
Желектин бирдиктүү клейи

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

3 -кадам: Circle Cutting Jig колдонуп Frame кесип

Circle Cutting Jig менен Frame Cut
Circle Cutting Jig менен Frame Cut
Circle Cutting Jig колдонуп Frame кесип
Circle Cutting Jig колдонуп Frame кесип
Circle Cutting Jig колдонуп Frame кесип
Circle Cutting Jig колдонуп Frame кесип
Circle Cutting Jig колдонуп Frame кесип
Circle Cutting Jig колдонуп Frame кесип

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

  • 12 дюйм.
  • 11 1/4 дюйм.
  • 9 1/4 дюйм.
  • 7 1/4 дюйм.
  • 5 3/8 дюйм.

4 -кадам: Басып чыгаруу жана Gears чогултуу

Басып чыгаруу жана тетиктерди чогултуу
Басып чыгаруу жана тетиктерди чогултуу
Басып чыгаруу жана Gears чогултуу
Басып чыгаруу жана Gears чогултуу

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

22 -кадамда табылган төмөнкү бөлүктөрдү басып чыгарыңыз:

  • 1 - Hour Ring Gear сегментинин магнити
  • 6 - Hour Ring Gear Segment Basic
  • 1 - Саатты кармоочу шакек сегменти Stepper Mount
  • 6 - Саатты кармоочу шакек сегменти Негизги
  • 1 - Саат залы эффектинин сенсорунун кармагычы
  • 1 - мүнөт Ring Gear сегмент магнит
  • 7 - Minute Ring Gear Segment Basic
  • 1 - мүнөт кармоочу шакек сегменти Stepper Mount
  • 6 - Негизги мүнөт кармоочу шакек сегмент
  • 1 - Мүнөт Холл эффектинин сенсор кармагычы
  • 2 - Spur Gear
  • 1 - Электроника тоосу

5 -кадам: "Желим" бөлүмдөрүн бирге

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

6 -кадам: Рельефтерди алкакта кесүү

Рельефтерди алкакта кесүү
Рельефтерди алкакта кесүү
Рельефтерди алкакта кесүү
Рельефтерди алкакта кесүү
Рельефтерди алкакта кесүү
Рельефтерди алкакта кесүү

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

7 -кадам: Hall Effect сенсорлору үчүн жол -жоболоштуруу

Холл эффектинин сенсорлору үчүн тазалоо
Холл эффектинин сенсорлору үчүн тазалоо
Холл эффектинин сенсорлору үчүн тазалоо
Холл эффектинин сенсорлору үчүн тазалоо
Холл эффектинин сенсорлору үчүн тазалоо
Холл эффектинин сенсорлору үчүн тазалоо

Мүнөт залы эффекти сенсорун жана саат залы эффекти сенсорунун уячасын ички шакек аркылуу тазалаңыз. Мен бул жерлерди кесүү үчүн кескичти, файлды жана кичинекей кол араны колдондум.

8 -кадам: Сырткы шакекти жабыштырыңыз

Желим сырты
Желим сырты

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

9 -кадам: Hall Effect Sensor тууралоо бурамаларын кесүү

Cut Hall эффектинин сенсорун тууралоочу бурамалар
Cut Hall эффектинин сенсорун тууралоочу бурамалар

Машинанын бурамаларын кесүүчү араа менен кескиле, ошондуктан алар рингдин жана холл эффектинин сенсорунун кармагынын калыңдыгынан узунураак. Жиптерден оюкту кескилеңиз, аны тегиз отвертка менен жиптин учунан туураласа болот.

10 -кадам: шакектерди тактайга чаптаңыз

Катуу тактайга шакектерди чаптаңыз
Катуу тактайга шакектерди чаптаңыз
Катуу тактайга шакектерди чаптаңыз
Катуу тактайга шакектерди чаптаңыз
Катуу тактайга шакектерди чаптаңыз
Катуу тактайга шакектерди чаптаңыз

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

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

11 -кадам: Ички дисктин клейи

Ички дисктин клейи
Ички дисктин клейи
Ички дисктин клейи
Ички дисктин клейи

Ички дисктин ичине сааттын кармоочу шакегин жана шакекчесин колдонуп, ички дисктин клейи.

12 -кадам: Veneer тиркөө

Veneer тиркөө
Veneer тиркөө
Veneer тиркөө
Veneer тиркөө
Veneer тиркөө
Veneer тиркөө
Veneer тиркөө
Veneer тиркөө

Чоңураак винер тилкесин кесип алыңыз, ал саат бою оролгонго терең жана узун (сааттын диаметри 3.14 *, керектүү узундукту кайтарып берет. Жетиштүү экениңизге ишенүү үчүн дюймду кошуңуз.) узундукка кесүү. Каптоочу жабышчаак жерге клейди колдонуп, кайыш менен кысыңыз. Адгезияны камсыз кылуу үчүн бир нече саат кургатыңыз.

13 -кадам: Винирди кыркыңыз

Trim Veneer
Trim Veneer

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

14 -кадам: Veneer кесүү

Cut Veneer
Cut Veneer
Cut Veneer
Cut Veneer

Менин шпонумда жаракалар бар болчу. Аны менен иштөөнү жеңилдетүү үчүн, мен аны кармап туруу үчүн сүрөтчүлөрдүн скотчун чаптадым. Компастын ичиндеги x-acto бычагын колдонуп, капкакты сааттын бетинен чоңураак кылып кесип алыңыз.

15 -кадам: желим венир

Glue Veneer
Glue Veneer
Glue Veneer
Glue Veneer

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

Мен сааттын бет жагында эки жуп жалпак тактайчаларды жана арткы бетинде кээ бир капусталарды колдондум.

16 -кадам: Кум жана Finish

Кум жана бүтүрүү
Кум жана бүтүрүү
Кум жана бүтүрүү
Кум жана бүтүрүү

Зымыроочу кагазды колдонуу менен сааттын бетиндеги ашыкча шпонду кылдаттык менен алып салыңыз жана 220 груттан баштап 600 гитке чейин кумду тазалаңыз.

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

17 -кадам: Power орнотуу

Power орнотуу
Power орнотуу
Power орнотуу
Power орнотуу

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

18 -кадам: Электрониканы чогултуу

Электрониканы чогултуу
Электрониканы чогултуу
Электрониканы чогултуу
Электрониканы чогултуу
Электрониканы чогултуу
Электрониканы чогултуу
Электрониканы чогултуу
Электрониканы чогултуу

Электрондук тактага тепкич айдоочуларды жана реалдуу убакыт саатын тиркеңиз. Мен Arduino'ну коргоонун жолун издешим керек болчу, ошондуктан тешиктер тешилип, сыдырма галстук үчүн оюк кесилди. Бул өзгөчөлүктөр 22 -кадамда табылган файлга кошулду.

19 -кадам: Solder жана Connect Electronics

Solder жана Connect Electronics
Solder жана Connect Electronics
Solder жана Connect Electronics
Solder жана Connect Electronics
Solder жана Connect Electronics
Solder жана Connect Electronics

Блок -схемага ылайык, бардык компоненттерди бириктирүү. Шакектерди ысык желим менен жабыңыз жана кезексиз зымдарды ысык клей менен бекемдеңиз.

Сүрөт
Сүрөт

20 -кадам: Арткы табак

Арткы плитасы
Арткы плитасы
Арткы плитасы
Арткы плитасы
Арткы плитасы
Арткы плитасы

Арткы табакты сааттын бетинен чоңураак 1/2 дюйм жана ички диаметри сааттын арткы тарабына окшош кылып кесүү менен түзүңүз. Шакекти жана тегеректи клей менен кысыңыз.

Кургаткандан кийин, ички шакекчеден 1/8 дюймураак сызык жазыңыз жана тилкелүү араны же дискти тегиздөөчү машинаны колдонуп өлчөмүн кыркыңыз.

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

Кара спрей боегун сүйкөп, кургаткандан кийин саатка бекиңиз.

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

Arduino коду мүмкүн болушунча жакшы комментарийленген. Мен программист эмес экенимди эстен чыгарбаңыз, менде ардуинонун минималдуу тажрыйбасы бар (боорукер болуңуз). Код учурдагы убакыттын "Убакытты калыбына келтирүү" менен дал келерин текшерүү үчүн дайыма иштейт. Учурдагы убакытты кадамдарга которуунун жолун ойлоно албаганым үчүн, ал күнүнө бир жолу гана оңдолот (демейки боюнча түн жарымы). Түн ортосунда тиштер түн ортосуна чейин айланат, андан кийин 00:01ге чейин күтүп, ошол убакка жылып, андан ары уланат. Учурда отурганда, саат 24 сааттын ичинде болжол менен 5 секунд жоготот.

Сизге Stepper жана RTClib китепканалары орнотулган болушу керек.

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

#кошуу

#include "RTClib.h" RTC_DS1307 rtc; #Define oneRotation 2038 // 28BYJ-48 тепкичтүү моторунун бир революциядагы кадамдардын саны StepperHand (oneRotation, 3, 5, 4, 6); Stepper minutesHand (oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #deleine minutesStopSensor 11 int endStep = 0; // Убакыт сааттын ылдамдыгы үчүн. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Учурдагы математика менен иштөө. float hr = 0; float mn = 0; float sc = 0; // Саатты кайра коюу үчүн күндүн убакытын коюңуз (24 сааттык формат). int resetHour = 0; int resetMinute = 0; // Ишке кирүүчү жана баштапкы абалга туура келген убакытты коюу үчүн өзгөрмөлөр. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float hourTest = 0; float minutesTest = 0; void setup () {Serial.begin (115200); // Реалдуу убакыт саатын орнотуу жана холл эффектинин сенсорлорун баштапкы абалга келтирүү. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minutesStopSensor, INPUT_PULLUP); rtc.begin (); // Убакытты белгилөө үчүн төмөндөгү линияга комментарий бербеңиз. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))))); // Stepper моторлорунун эң жогорку ылдамдыгын коюңуз. hourHand.setSpeed (15); minutesHand.setSpeed (15); // Мүнөт менен сааттын жебеси түшкө чейин (digitalRead (hourStopSensor) == LOW || digitalRead (minutesStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minutesStopSensor) == LOW) {minutesHand.step (3); } else {delay (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minutesStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minutesStopSensor)! = LOW) {minutesHand.step (3); } else {delay (4); }} // Учурдагы убакытты алуу DateTime now = rtc.now (); hr = now.hour (); mn = now.minute (); sc = now.second (); // 12 сааттык форматка өзгөртүү, эгерде (hr> = 12) {hr = hr - 12; } // Карап көрүңүз, кайсы кол бетти ары карай басып өтүшү керек жана белгиленген аралыкты // ошого жараша тууралоо үчүн. hourTest = hr / 12; minutesTest = mn / 60; if (hourTest> minutesTest) {handDelay = hourTest; } else {handDelay = minutesTest; } // Учурдагы саатты коюу setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Учурдагы мүнөттү коюңуз setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Кайсы колго көбүрөөк кадамдар керек экендигин текшерип, for цикли үчүн эң узак кадам санына коюңуз. эгер (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } башка {endStep = setTimeStepMinute; } үчүн (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {delay (3); } if (i <setTimeStepMinute) {minutesHand.step (3); } else {delay (4); }} // RPM hourHand.setSpeed (1) иштеп жаткан саатты коюу; minutesHand.setSpeed (1); } void loop () {// Саатты иштетүүчү циклди баштоо. for (int i = 0; i <22; i ++) {minutesHand.step (1); кечигүү (setDelay1); // Кайра коюу убактысын текшериңиз, эгерде кайра коюуга даяр болсоңуз, сындырыңыз. if (rtc.now (). hour () == resetHour && rtc.now (). minutes () == resetMinute) {break; }} кечигүү (setDelay3); for (int i = 0; i <38; i ++) {hourHand.step (1); кечигүү (setDelay1); // Баштапкы убакытты текшериңиз, эгерде аны кайра коюуга даяр болсоңуз, сындырыңыз. if (rtc.now (). hour () == resetHour && rtc.now (). minutes () == resetMinute) {break; } үчүн (int i = 0; i <20; i ++) {minutesHand.step (1); кечиктирүү (setDelay2); // Кайра коюу убактысын текшериңиз, эгерде кайра коюуга даяр болсоңуз, сындырыңыз. if (rtc.now (). hour () == resetHour && rtc.now (). minutes () == resetMinute) {break; }}} // Саатты баштапкы абалга келтирүү, эгерде (rtc.now (). Hour () == resetHour && rtc.now (). Minutes () == resetMinute) {// Сааттын ылдамдыгын өзгөртүүHand.setSpeed (10); minutesHand.setSpeed (10); // Укурук мүнөткө жана саатка чейин түшкө чейин жетет. while (digitalRead (hourStopSensor) == LOW || digitalRead (minutesStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minutesStopSensor) == LOW) {minutesHand.step (3); } else {delay (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minutesStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minutesStopSensor)! = LOW) {minutesHand.step (3); } else {delay (4); }} // Кайра коюу убактысы бүткүчө бул жерде күтө туруңуз. while (rtc.now (). minutes () == resetMinute) {кечиктирүү (1000); } // Учурдагы убакытты алуу DateTime now = rtc.now (); hr = now.hour (); mn = now.minute (); sc = now.second (); // 12 сааттык форматка өзгөртүү, эгерде (hr> = 12) {hr = hr - 12; } // Кайсы кол бетти ары карай басып өтүшү керектигин караңыз жана белгиленген аралыкты ошого жараша тууралаңыз //. hourTest = hr / 12; minutesTest = mn / 60; if (hourTest> minutesTest) {handDelay = hourTest; } else {handDelay = minutesTest; } // Учурдагы саатты коюу setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Учурдагы мүнөттү коюңуз setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Кайсы колго көбүрөөк кадамдар керек экендигин текшерип, for цикли үчүн эң узак кадам санына коюңуз. эгер (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } башка {endStep = setTimeStepMinute; } үчүн (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {delay (3); } if (i <setTimeStepMinute) {minutesHand.step (3); } else {delay (4); }} hourHand.setSpeed (1); minutesHand.setSpeed (1); }}

22 -кадам: STL Files

Сиз файлдардын төмөнкү сандарын басып чыгарышыңыз керек болот:

  • 1 - Hour Ring Gear сегментинин магнити
  • 6 - Hour Ring Gear Segment Basic
  • 1 - Саатты кармоочу шакек сегменти Stepper Mount
  • 6 - Саатты кармоочу шакек сегменти Негизги
  • 1 - Саат залы эффектинин сенсорунун кармагычы
  • 1 - мүнөт Ring Gear сегмент магнит
  • 7 - Minute Ring Gear Segment Basic
  • 1 - мүнөт кармоочу шакек сегменти Stepper Mount
  • 6 - Негизги мүнөт кармоочу шакек сегмент
  • 1 - Мүнөт Холл эффектинин сенсор кармагычы
  • 2 - Spur Gear
  • 1 - Электроника тоосу

23 -кадам: Solidworks Files

Бул мурунку кадамда табылган STLлерди түзүү үчүн колдонулган түпнуска Solidworks файлдары. Файлдарымды өзүңүз каалагандай түзөтүп, өзгөртүп коюңуз.

24 -кадам: Жыйынтык

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

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