Live data from Hacker News

Custom telescope mount using harmonic drives and ESP32

svendewaerhert.com

111–118 of 118 posts

Re: Custom telescope mount using harmonic drives and ESP32

#111
post #102
post #71

Earlier quoted context omitted.

OpenSCAD is great for functional parts, built of basic components. It can start to be good for moderate complexity components with the BOSL library (I use BOSL2) including chamfers/fillets where needed. And the parametric/customization aspect is second to none - IF it's built with that in mind. Where it really falls down is when you need to somehow get data OUT of the model to feed to other shapes. I would love to be…

> I've also tried to spend some time performance optimizing for render/output. It is not cooperative at all. Have you started using a recent nightly build with the Manifold backend and not the "stable" (aka obsolete ) release?

I have not! I will give that a shot, and hope that it will maintain compatibility with BOSL2 (also beta).

Re: Custom telescope mount using harmonic drives and ESP32

#112
post #105
post #90

From the blog: "Not surprising once you understand that slewing to a target significantly increases the number of pulses per second sent to the motors, and everything became just too much to handle for our little ESP32." A hobby application of mine involves driving multiple steppers at high-ish frequencies, following sigmoid curves precisely and no tolerance for glitches, because the mass and the cost of the device(s…

When I was doing stepper control on rp2040 I looked into using PIO but the 5 bit counters and 32 instruction limit made it too awkward to use. What worked better for my needs was dedicating 2nd core for just motion control and bit-banging the step/dir signals- simple to implement and good enough for the modest needs I had (just trapezoidal velocity profile for single axis motion).

[deleted]

Re: Custom telescope mount using harmonic drives and ESP32

#113
post #105
post #90

From the blog: "Not surprising once you understand that slewing to a target significantly increases the number of pulses per second sent to the motors, and everything became just too much to handle for our little ESP32." A hobby application of mine involves driving multiple steppers at high-ish frequencies, following sigmoid curves precisely and no tolerance for glitches, because the mass and the cost of the device(s…

When I was doing stepper control on rp2040 I looked into using PIO but the 5 bit counters and 32 instruction limit made it too awkward to use. What worked better for my needs was dedicating 2nd core for just motion control and bit-banging the step/dir signals- simple to implement and good enough for the modest needs I had (just trapezoidal velocity profile for single axis motion).

[deleted]

Re: Custom telescope mount using harmonic drives and ESP32

#114
post #105
post #90

From the blog: "Not surprising once you understand that slewing to a target significantly increases the number of pulses per second sent to the motors, and everything became just too much to handle for our little ESP32." A hobby application of mine involves driving multiple steppers at high-ish frequencies, following sigmoid curves precisely and no tolerance for glitches, because the mass and the cost of the device(s…

When I was doing stepper control on rp2040 I looked into using PIO but the 5 bit counters and 32 instruction limit made it too awkward to use. What worked better for my needs was dedicating 2nd core for just motion control and bit-banging the step/dir signals- simple to implement and good enough for the modest needs I had (just trapezoidal velocity profile for single axis motion).

> but the 5 bit counters

5 bit shift register, I believe you mean. Have a look at this. 16 instructions. Completely untested. I qualified my comment about RP2350 as "I believe," because I haven't actually done this: only investigated it via ChatGPT and Gemini. But it appears sound. Precision bit banging. PIO is pretty cool.

    ; PIO program for high-precision stepper profiles with a two-word data format.
    ; RP2350 clock is 150 MHz
    ; Word 1: [32-bit Low-Time Delay]. A value of 0 is the sentinel to stop.
    ; Word 2: [32-bit Repetition Count] (N-1).

    .program stepper_pwm
    .define HIGH_PULSE_CYCLES 2998 ; 20us @ 150MHz. Total delay is (CONSTANT + 2) cycles. 3000 - 2 = 2998.
    .side_set 1 opt

    entry_point:
        pull block              ; Pull Word 1 (Low-Time Delay) from DMA.
        mov x, osr              ; Copy to X for sent sentinel test
        jmp !x, process_step    ; fall through to the stop_sequence when sentinel == 0

    stop_sequence:
        nop side 0              ; Force the output pin LOW.
        irq set 5               ; Signal the core that the profile has finished.

    halt_loop:
        jmp halt_loop           ; Halt state machine.

    process_step:
        mov y, x                ; Y now holds the 32-bit Low-Time Delay.
        mov isr, y              ; Save LOW delay in ISR for use in every repetition.
        pull block              ; Pull Word 2 (Repetition Count) from DMA.
        mov x, osr              ; X now holds the 32-bit Repetition Count.

    rep_loop:
        ; High pulse duration = (HIGH_PULSE_CYCLES + 2) clock cycles.
        mov y, HIGH_PULSE_CYCLES side 1

    high_loop:
        jmp y-- high_loop side 1
        ; Low pulse duration between reps = (LOW_DELAY_FROM_ISR + 3) clock cycles.
        mov y, isr side 0

    low_loop:
        jmp y-- low_loop side 0
        jmp x-- rep_loop        ; Decrement repetition counter and loop if not zero.
        jmp entry_point         ; Finished all reps for this step, get the next one.

Re: Custom telescope mount using harmonic drives and ESP32

#115
post #63

Amazing project and write up, very good timing too! I’ve been into amateur astronomy since I was 13, owning a few telescopes and spending many hours with family at star parties. This week I pulled out our big Meade 10” SCT and our small Meade 4” Newtonian to show my 7yo son the moon and Saturn from my parents Bortle 8 backyard. It was wonderful seeing his awe and surprise, and the fact that my parents were there to s…

>However, as much as I like the idea of GOTO, a big part of the fun is finding the objects. I love reading this because it shows how different people are and how much room there is in the hobby for different interests. I am grateful for goto mounts specifically because finding the object is one of my least favorite parts of it. :D

Irony: I have a 1960s 100mm "Goto" refractor made by what is now the Goto planetarium company of Fuchu City, Tokyo. It's a headache to search for online. https://www.goto.co.jp/english/about/

Re: Custom telescope mount using harmonic drives and ESP32

#116

Amazing project and write up, very good timing too! I’ve been into amateur astronomy since I was 13, owning a few telescopes and spending many hours with family at star parties. This week I pulled out our big Meade 10” SCT and our small Meade 4” Newtonian to show my 7yo son the moon and Saturn from my parents Bortle 8 backyard. It was wonderful seeing his awe and surprise, and the fact that my parents were there to s…

> Then I stumbled upon PiFinder

HorizonXP - I think you should submit this as a story/link!

Re: Custom telescope mount using harmonic drives and ESP32

#117
post #111
post #102

Earlier quoted context omitted.

> I've also tried to spend some time performance optimizing for render/output. It is not cooperative at all. Have you started using a recent nightly build with the Manifold backend and not the "stable" (aka obsolete ) release?

I have not! I will give that a shot, and hope that it will maintain compatibility with BOSL2 (also beta).

BOSL2 devs use more recent snapshots, so it definitely does.

Re: Custom telescope mount using harmonic drives and ESP32

#118
post #99

Earlier quoted context omitted.

OpenSCAD is genuinely great for the right kind of user. If you’re familiar with CSS and have experience with animations in the past, you already possess the skills to be productive with OpenSCAD. In my opinion, the most challenging aspect is getting accustomed to the disconnect between visualizing something and manipulating it, as it’s done through code.

I used OpenSCAD a long time ago because it felt very natural having spent a lot of time with POVray as a teen. But I found it to be very difficult to design parts with specific dimensions that were needed to line up with objects in the real world. In FreeCAD (/Solidworks/Onshape/solvespace/etc.) it's easy to just create a logical sketch of your part, fix the require dimensions, angles, symmetries, etc and it solves f…

Similar situation here, ex POVray. After years of managing ME's on Solidworks, I still prefer OpenSCAD to anything else because it's cross-platform, small, always available, and frequently modeling a single part in isolation or a small number of parts in proximity is adequate to solve a problem. It really doesn't scale to complex projects yet. No measurement tools, no drawing tools are the kickers. Animation is meh, better to go to Blender for anything nontrivial. Intrigued by but haven't really given a fair go to SolveSpace. https://solvespace.com/
Post reply on HN