It worked well for GoTo but guiding was not very successful. With the TMC2209, GoTos are ultra quiet as I had implemented a smooth acceleration and deceleration function. I then wrote an INDI mount driver that handled all the conversion from RA and DEC position in number of microsteps from the reference sidereal counter which allowed me to use PHD2 and Stellarium. It allowed the math to be all integer and clock accuracy was still possible with an external PPS used to adjust the RA timer interrupt interval. My approach was for the Nano to keep track of sidereal time as an integer count of microsteps and the RA and DEC positions were computed as offsets from this sidereal microstep clock. I had also completely rewritten the timer and sidereal clock implementation to function on two timer interrupts (RA and DEC) of the Nano. I had stripped out most features and capabilities out of OnStep to get it to fit in the small memory of the Nano. My mount is an EQ-3 and I had sidereal tracking and GoTo working with a regular Arduino Nano so I know I have the CNC V4 pinmap and other configs right too. I'm using TMC2209 stepper drivers with 8 microsteps by grounding the M0 and M1 pins of the 2209 (The CNC V4 has jumpers to ground that can be used). The RP2040 has a bunch of these timer compare registers but only two that are 32-bits. There are no pre-scalar or clock source selection. There is only a 32-bit microsecond free running counter and the timer interrupts are programmed to trigger on a compare register to the micro-sec "clock". Is there documentation on the role and intervals for timer1, timer 3 and timer4? The RP2040 has a funny implementation for its timers. Everything else (command line processing, PPS, GPS TLS, WiFi, etc.) is working. I have it running with only the timers to finish reimplementing in the HAL. Hi, I'm trying to port OnStep to an Arduino Nano RP2040 Connect on a CNC V4 shield.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |