Мазмуну:
- 1 -кадам: Куралдар жана материалдар
- 2 -кадам: жыгач алкакты бирге чаптаңыз
- 3 -кадам: Circle Cutting Jig колдонуп Frame кесип
- 4 -кадам: Басып чыгаруу жана Gears чогултуу
- 5 -кадам: "Желим" бөлүмдөрүн бирге
- 6 -кадам: Рельефтерди алкакта кесүү
- 7 -кадам: Hall Effect сенсорлору үчүн жол -жоболоштуруу
- 8 -кадам: Сырткы шакекти жабыштырыңыз
- 9 -кадам: Hall Effect Sensor тууралоо бурамаларын кесүү
- 10 -кадам: шакектерди тактайга чаптаңыз
- 11 -кадам: Ички дисктин клейи
- 12 -кадам: Veneer тиркөө
- 13 -кадам: Винирди кыркыңыз
- 14 -кадам: Veneer кесүү
- 15 -кадам: желим венир
- 16 -кадам: Кум жана Finish
- 17 -кадам: Power орнотуу
- 18 -кадам: Электрониканы чогултуу
- 19 -кадам: Solder жана Connect Electronics
- 20 -кадам: Арткы табак
- 21 -кадам: Arduino коду
- 22 -кадам: STL Files
- 23 -кадам: Solidworks Files
- 24 -кадам: Жыйынтык
Video: Магниттик дубал сааты: 24 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Механикалык сааттар мени дайыма кызыктырып келген. Ички редукторлордун, пружиналардын жана качып кетүүлөрдүн биргелешип иштеши дайыма ишенимдүү убакытты алып келет, менин чектелген жөндөмдөр топтому үчүн дайыма эле жеткиликсиз болуп көрүнгөн. Бактыга жараша, заманбап электроника жана 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 кесип
Тактайдын ортосун белгилеп, тегерек кесүүчү приборго орнотуңуз. Төмөнкү диаметри бар беш тегеректи кесип алыңыз:
- 12 дюйм.
- 11 1/4 дюйм.
- 9 1/4 дюйм.
- 7 1/4 дюйм.
- 5 3/8 дюйм.
4 -кадам: Басып чыгаруу жана 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 тууралоо бурамаларын кесүү
Машинанын бурамаларын кесүүчү араа менен кескиле, ошондуктан алар рингдин жана холл эффектинин сенсорунун кармагынын калыңдыгынан узунураак. Жиптерден оюкту кескилеңиз, аны тегиз отвертка менен жиптин учунан туураласа болот.
10 -кадам: шакектерди тактайга чаптаңыз
Сырткы шакектен бир аз чоңураак тактайчаны кесип алыңыз. Сырткы жана ички шакекти катуу дисктин бетине чаптаңыз. Ички шакекти орнотуу үчүн мүнөттүк кармоочу шакекти жана шакекчени колдонуңуз. Ички шакегин артка чаптабаганга караганда, мага көбүрөөк көңүл буруңуз. Экинчи сүрөт мүнөттүк эффект сенсорунун жаңы тешигин көрсөтөт.
Катуу дисктин сырткы шакегинин өлчөмүнө чейин кыркуу үчүн диск тегирменди колдонуңуз.
11 -кадам: Ички дисктин клейи
Ички дисктин ичине сааттын кармоочу шакегин жана шакекчесин колдонуп, ички дисктин клейи.
12 -кадам: Veneer тиркөө
Чоңураак винер тилкесин кесип алыңыз, ал саат бою оролгонго терең жана узун (сааттын диаметри 3.14 *, керектүү узундукту кайтарып берет. Жетиштүү экениңизге ишенүү үчүн дюймду кошуңуз.) узундукка кесүү. Каптоочу жабышчаак жерге клейди колдонуп, кайыш менен кысыңыз. Адгезияны камсыз кылуу үчүн бир нече саат кургатыңыз.
13 -кадам: Винирди кыркыңыз
Учтуу кескич менен сааттын алдыңкы жана арткы бөлүгүндөгү ашыкча шпонду кыркыңыз.
14 -кадам: Veneer кесүү
Менин шпонумда жаракалар бар болчу. Аны менен иштөөнү жеңилдетүү үчүн, мен аны кармап туруу үчүн сүрөтчүлөрдүн скотчун чаптадым. Компастын ичиндеги x-acto бычагын колдонуп, капкакты сааттын бетинен чоңураак кылып кесип алыңыз.
15 -кадам: желим венир
Кысылган шакектерди колдонуп, басымды сааттын баарына жайыңыз. Фонердин скотч эмес жагына мол клей сүйкөп коюңуз. Данды сааттын бетине тигинен багыттап, ар биринен бир аз кысуучу көптөгөн кыскычтарды колдонуңуз. Бул шыптын жылбай турганын жана бетке кысым көрсөтүшүн камсыз кылат.
Мен сааттын бет жагында эки жуп жалпак тактайчаларды жана арткы бетинде кээ бир капусталарды колдондум.
16 -кадам: Кум жана Finish
Зымыроочу кагазды колдонуу менен сааттын бетиндеги ашыкча шпонду кылдаттык менен алып салыңыз жана 220 груттан баштап 600 гитке чейин кумду тазалаңыз.
10-20 катмар лакты сүйкөп коюңуз. Бул шар подшипниги мине турган бетти курат. Сөзсүз түрдө абадагы чаң жана башка бөлүкчөлөрдөн улам, мен ойлойм, ар бир шариктин жолунда сызыктар пайда болот. Дагы көп катмарды колдонуу мүмкүн болушунча кечигиши керек. Бул ошондой эле келечекте оңдоону жеңилдетет. Эгерде менин саатымда сызыктар пайда болсо, мен бул кадамды жаңыртам.
17 -кадам: Power орнотуу
27/64 дюймдук бургулоочу битти колдонуп, сааттын түбүндөгү тешикти буруңуз жана электр розеткасын ордуна сайыңыз.
18 -кадам: Электрониканы чогултуу
Электрондук тактага тепкич айдоочуларды жана реалдуу убакыт саатын тиркеңиз. Мен Arduino'ну коргоонун жолун издешим керек болчу, ошондуктан тешиктер тешилип, сыдырма галстук үчүн оюк кесилди. Бул өзгөчөлүктөр 22 -кадамда табылган файлга кошулду.
19 -кадам: 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 тажрыйбасына ээ болуп, анын кантип чыкканына жана канчалык так экенине кубанычтамын. Бул сонун көрүнөт жана мен күткөндөй иштейт.
Сунушталууда:
Кыймылдын жарыгы бар DIY жарылуучу дубал сааты: 20 кадам (сүрөттөр менен)
Кыймылдын жарыгы бар DIY жарылуучу дубал сааты: Бул үйрөткүч / видеодо мен сизге кадам сайын кадамын көрсөтөм, кантип чыгармачыл жана уникалдуу көрүнүүчү дубал саатын интеграцияланган кыймылдуу жарыктандыруу системасы менен жасоо керек. . Мен басканда
Сырткы LED дубал сааты: 11 кадам (сүрөттөр менен)
Сырткы LED дубал сааты: Жакында мен көптөгөн адамдардын таптакыр кооз көрүнгөн чоң LED матрицаларын курганын көрдүм, бирок алар татаал коддон же кымбат бөлүктөрдөн же экөөнөн турган. Ошентип, мен өзүмдүн абдан арзан бөлүктөрдөн турган LED матрицамды курууну ойлодум
Түстүү дубал сааты: 7 кадам (Сүрөттөр менен)
Түстүү дубал сааты: Бул жолу мен сизге LED тилкелерин колдонуп балдар дизайны үчүн түстүү дубалдын аналогдук саатын тартуулайм. Сааттын негизи убакытты көрсөтүү үчүн үч LED тилкесин жана ар кандай түстөрдү колдонуу: Тегерек LED тилкесинде жашыл түс сааттарды көрсөтүү үчүн колдонулат
O-R-A RGB Led Matrix дубал сааты жана башкалар ** 2019-жылдын июль айында жаңыртылган **: 6 кадам (сүрөттөр менен)
O-R-A RGB Led Matrix дубал сааты жана башкалар ** 2019-жылдын июль айында жаңыртылган **: Саламатсызбы. Бул жерде мен O-R-AI аттуу жаңы долбоор менен иштеп жатам, бул RGB LED Matrix дубал сааты: саат: мүнөт температурасы нымдуулугу учурдагы аба ырайынын шарты сөлөкөтү Google Календардагы окуялар жана 1 саат эскертүү билдирмелери белгилүү бир убакытта:
TheSUN, Arduino Powered Дизайн дубал сааты: 6 кадам (сүрөттөр менен)
TheSUN, Arduino Powered Дубал Сааты: Саламатсызбы кайрадан Instructables-элдер! мага, ошол жагымдуу LED тилкелери сыяктуу (NEOP деп да аталат