Code Monkey home page Code Monkey logo

morningrope's Introduction

New Book!!

I've written a short book to teach you how to program this Trinamic stepper motor. It can be found on Amazon here

MorningRope: Automated Curtain Opener

The MorningRope is a smart curtain opener that uses two buttons and HTTP requests to open and close your curtain. Combine it with Node-RED, Home Assistant (via ESPhome), or any other system capable of sending HTTP requests and get your curtain to open and close automatically.

window opener GIF

How it works

The motor is attached to your wall just behind one of the curtains

window opener GIF

There is a carriage attached to the back of each curtain panel. A string runs through each carriage and through the motor which pulls it open and close.

window opener GIF

At the heart of the device is our custom PCB which uses an ESP32 and Trinamic TMC2209 stepper driver.

The motor is dead silent.

If a stall occurs, the advanced TMC2209 will detect the increased back-EMF from the motor and stop it automatically, like magic.

window opener

Will it work on your curtains?

Before you get too excited and buy/build this, please be sure it will work on your curtains. The type of curtains you have is very important.

This only works on backtab curtains that looks like this. Be sure you own or purchase curtains like this.

Why? The reason for using backtab curtains is due to thier low friction. If using grommets, the friction between the rod and grommet gets too high for the device to move. This is because the motor is pulling on the string, so if there's too much friction on the rod and grommets, the string will slip. Backtabs have proven to work for lengths up to 140" so I stick with them. Short runs will work for grommets but it's not reliable.

window opener GIF

How to build it

We've created a hardware kit that includes everything. If you source the parts individually, it will cost 5X more just because all of the hardware need to purchased in bulk from places like McMaster-Carr. You may optionally 3D print your parts.

  • Total print time: ~12 hours (You can also purchase the 3D prints)
  • Total assembly time: ~20 minutes
  1. This kit excludes 3D printed parts
  2. This kit Includes 3D printed parts

window opener parts

How to 3D print it

Go to the repo folder "hardware" -> "Plastics" -> "platter"

How to install it

There is a mount that is attached with adhesive. If necessary, you can also use 2 screws with anchors into the wall, but that has not been required.

First decide if you want to place it on the left or right side of the window.

Next, attach the wall mount.

Wait 24 hours for the adhesives to set and you can now use the window opener.

Sending commands

Commands are sent via HTTP requests

Follow the instructions outlined in the firmware folder.

morningrope's People

Contributors

daniel-frenkel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

morningrope's Issues

Calculation for TCOOLTHRS

Hi,

Sorry for opening an issue when it's not one, I have a question about this line
https://github.com/Valar-Systems/MorningRope/blob/b9655630370ad189113ce66e0d19736aa7dc62da/firmware/production/Memory.h#L11C1-L11C70

int tcools = (3089838.00 * pow(float(max_speed), -1.00161534)) * 1.5;

You are doing this calculation for finding the TCOOLTHRS for the stepper driver depending on max_speed, however I have a hard time figuring where those numbers come from. Looking at the TMC2209 datasheet, nothing obvious jumps to my eyes either.

Would you be able to explain where the formula comes from ?

Thanks

PCB Link Dead

The links to your VAL-2000 PCB are dead

Are these still available to purchase?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.