×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

Arduino

  • Posts: 3
  • Thank you received: 0

Arduino was created by Hans Van Ingelgom

Hello,

It's really nice to see the Arduino support in the new INDI release! The funny thing is, I've been working on practically the same thing, but using an STM32vlDiscovery instead of Arduino. The goal is to replace an old DMD-2 controller for a Polaris mount with something that can be PC-controlled. I'm using the same Sparkfun EasyDriver boards, and a USB/serial converter for the command interface.

Just yesterday, I managed to make a trapezoidal motion with a test motor, there are some rounding errors that I'll have to look into but for the rest it's really working quite well. When doing an acceleration from 400 steps/sec to 4000 steps/sec at 400 steps/sec^2, I currently end up at about 7% off from the theoretical position. I don't know if that's a good result, as I have nothing to compare it against.

Anyway, It seems that once I'll get to the driver part, I'll be able to take the INDI driver for Arduino and adapt it to my implementation, saving me some work.
11 years 3 months ago #5

Please Log in or Create an account to join the conversation.

Replied by Jasem Mutlaq on topic Arduino

Yes the Arduino support is quite useful, I plan to use it to drive a motor to open/close the dome shutter door wirelessly, because as it stands now, one must stop the dome at certain locations in order to connect the shutter door motor power to some socket in the wall (there are no slip rings). Now it will be battery-powered using an inverter and Arduino with some electronics to drive the motor!
11 years 3 months ago #6

Please Log in or Create an account to join the conversation.

  • Posts: 2
  • Thank you received: 0

Replied by George on topic Arduino

I am using a Teensy 2.0 to provide USB Serial (not USB to Serial) to interface with an old Takahashi mount. Using Xephem and xmtel INDI clients for tracking. It's a work in progress. Shaft encoders to be fitted. Need to write a sketch for the Teensy and an INDI device driver.
11 years 3 months ago #7

Please Log in or Create an account to join the conversation.

  • Posts: 3
  • Thank you received: 0

Replied by Hans Van Ingelgom on topic Arduino

Hi Geoland,

Nice to see others are doing similar things! I wonder what functionality your controller will be providing. Will it have alignment on-board? Will you drive the motors directly or will you be interfacing some existing motor controller for the mount? The encoders also seem like a cool feature.

Personally I moved away from writing my own protocol & driver, now I'm implementing an lx200-compatible interface. This will make it compatible with a lot of software, including INDI. My controller and INDI are already on speaking terms, I can set target coordinates and now I have to implement the slewing (I improved the motion profiling code a lot, it's rather accurate at the moment).

My major issue right now is that the lx200 protocol, while documented, is very ill-specified. Sometimes I discover contradictions within the standard, and when I debug the code to see what is the correct format, I see that INDI even sends something else. I guess I'll have to write the command parser as liberal as possible, and I'll have to really test it well.

For the astronomical algorithms I managed to compile libnova for the ARM cortex cpu. Together with the stuff I use from newlib (a C standard library) that means I'm currently using 110KB of flash, out of 128KB available.. I hope I can put all the functionality into the board, however I don't think a lot more library functions have to be pulled in, so I think I'll be fine (fingers crossed). Also, the compiler doesn't optimize the code yet, so I'm sure I can squeeze some extra space out of it if necessary.

Greetings,
Hans.
Last edit: 11 years 3 months ago by Hans Van Ingelgom. Reason: minor edit
11 years 3 months ago #8

Please Log in or Create an account to join the conversation.

  • Posts: 2
  • Thank you received: 0

Replied by George on topic Arduino

Hello Hans. I too have moved to the lx200 protocol, using the indi_skycommander driver. The indi client is reading and writing to the Teensy, which is running an encoder sketch, with input from an encoder simulator producing 2 x quadrature inputs.

I will see how it goes with a pair of home made indexed rotary encoders.

Speed is a bit slow because of Serial.print. USB speeds would be better.
11 years 3 months ago #9

Please Log in or Create an account to join the conversation.

Time to create page: 0.612 seconds