Date
1 - 8 of 8
Building from Sources and Configure for Motors and Motor Controllers?
luzilu@...
Dear Charles
I have been able to setup TeenAstro to steer my test motor in a proper way. It was as easy as you say, as soon as I had got the python configuration tool from François Desvallées. The next step will be to try on the telescope mounts. Thank you for the kind start help. I don't know how long takes for the payment for the PCBs to arrive at your account, but it's on the way and you should get it the next few days. best regards Lukas |
|
Hi Lukas,
You do not need to understand the TMCStepper lib to configure your motor.
The import parameter are:
The gear configuration to get the physical description of your mount
The Max rate, the acceleration and the current.
The problem is that old stepper motor have a poor dynamic, that's why Stephan has developped an upgrade kit for the AP400. I think there are already 3 mounts using that kit
I have used TeenAstro in remote for variable star observation.
I developped a software for that: https://pixelstelescopes.wordpress.com/astromatik/
Charles
Gesendet: Dienstag, 25. Februar 2020 um 02:18 Uhr
Von: luzilu@... An: TeenAstro@groups.io Betreff: Re: [TeenAstro] Building from Sources and Configure for Motors and Motor Controllers? Thank you very much for your input to both of you, Charles and François.
I have two telescope mounts I target to control by TeenAstro. One is a EQ6 with portescap disk magnet motors and the other is an Astrophysics 400 that also has motors mounted already but I don't know yet, what they exactly are. Both mounts have a controller already, but those don't exactly do what we want. So I decided to build a new controller, which we can adapt to what we intend to. Essentially we aim towards a fully automatic (remote) telescope control. For this I need to understand in detail what the controller does. The way to go here is clearly open source and TeenAstro seems the perfect starting point. Thank you again, Charles, for all the impressive work you have done! I understand that the primary goal of the project is to keep it simple for the people that don't want to fiddle with exotic details, which is certainly a good idea. Besides of typing LX200 commands to the terminal, I have also tried with the indi driver and the indiprop client and to me it looked like the configuration could be done this way too. Are you, François, the author of the indi driver? I also thought about writing a configurator program but I don't yet understand the meaning of the configuration points. If you are willing to share your python code that would probably be quite helpful for me. I did a quick look into the datasheet of the TMC5160 and this looks scary complicated. It looks like the stepper controller part comes from here: https://github.com/teemuatlut/TMCStepper, so I probably have to look there, to understand more, what my motor does. I have already compiled a list of LX200 commands but I have to review and clean it. Should I post a pull request for that to get it into the git repo? Of course I'm just beginning and it will take quite some time to get into it and eventually contribute something useful... Thanks again and best regards Lukas |
|
Hi Lukas:
toggle quoted message
Show quoted text
Yes, I did write the INDI driver. I will send you the (not quite ready) TAConfig.py program by separate email. For your remote control observatory, you might consider the Kstars / Ekos program, at least as a starting point, since it has a lot of code for controlling everything, from filter wheels to telescope mounts to dome etc. François On 25 February 2020 02:18 luzilu@... wrote: |
|
luzilu@...
Thank you very much for your input to both of you, Charles and François.
I have two telescope mounts I target to control by TeenAstro. One is a EQ6 with portescap disk magnet motors and the other is an Astrophysics 400 that also has motors mounted already but I don't know yet, what they exactly are. Both mounts have a controller already, but those don't exactly do what we want. So I decided to build a new controller, which we can adapt to what we intend to. Essentially we aim towards a fully automatic (remote) telescope control. For this I need to understand in detail what the controller does. The way to go here is clearly open source and TeenAstro seems the perfect starting point. Thank you again, Charles, for all the impressive work you have done! I understand that the primary goal of the project is to keep it simple for the people that don't want to fiddle with exotic details, which is certainly a good idea. Besides of typing LX200 commands to the terminal, I have also tried with the indi driver and the indiprop client and to me it looked like the configuration could be done this way too. Are you, François, the author of the indi driver? I also thought about writing a configurator program but I don't yet understand the meaning of the configuration points. If you are willing to share your python code that would probably be quite helpful for me. I did a quick look into the datasheet of the TMC5160 and this looks scary complicated. It looks like the stepper controller part comes from here: https://github.com/teemuatlut/TMCStepper, so I probably have to look there, to understand more, what my motor does. I have already compiled a list of LX200 commands but I have to review and clean it. Should I post a pull request for that to get it into the git repo? Of course I'm just beginning and it will take quite some time to get into it and eventually contribute something useful... Thanks again and best regards Lukas |
|
Sorry Francois, I forgot your commands list!
Charles
Gesendet: Montag, 24. Februar 2020 um 08:11 Uhr
Von: "François Desvallées" <fdesvallees@...> An: TeenAstro@groups.io Betreff: Re: [TeenAstro] Building from Sources and Configure for Motors and Motor Controllers? Hi Lukas:
I use Linux too, welcome to the community! One of the nice things about TeenAstro is that most parameters can be changed at run time, so a single binary will work for most configurations. The exception is the stepper driver: You need to choose either 2130 or 5160 for the main unit. Also, (in the beta only), the SHC has one binary per language (French, English, German). If you only use english, then you need a single binary. Now to change the runtime parameters, the easiest by far is to use the web server provided by the SHC. Just point your browser to the SHC's IP address, and change motor speed etc. It will be stored in EEPROM and you never need to worry about it unless you change the software version. Another possibility is TeenAstroConfig, which is Windows-only. I started writing a Python program with the same functionality. It is not quite finished, but I can work on it if you need. Concerning the LX200 commands that are supported, have a look at this: https://groups.io/g/TeenAstro/attachment/965/0/TeenAstro%20INDI%20device%20driver.pdf I advise to use the exact hardware, including motors, described in the project pages, because it works fine "out of the box". You can try to change later. Hope this helps François > On 23 February 2020 23:21 luzilu@... wrote: > > > I already posted that I had assembled a TeenAstro Mini and it looks like working. > > As I am a Linux guy and want to be able to hack on the software, I don't want to use the prebuilt firmwares and cannot use the flashing tool for Windows. > No problem so far, as I already have the Arduino IDE installed and the installation of the Teensyduino extension ran smoothly. I can compile (with only one warning about "enumeration value 'NODRIVER' not handled in switch") the current github head and flash it to the Teensy. > > Now a few questions arise regarding building from source and setting up for the mechanical properties of the telescope mount (by not using Windows, I cannot use TeenAstroConfig.exe, which aside from that, seems to be closed source): > > I had set CPU speed to 72MHz and Optimize to "Faster", is that right? > As there is no other branch nor any tag set, I used the git master head; is that reasonable for trying out? > > I dug into the sources a bit and it seems that the only compile time configuration is in "Pins.TeenAstro.h" and it seems that all is already set up correctly there, for the TeenAstro Mini with TMC5160 drivers out of the github master head. Am I correct with that? > > All of the other configurations can be made via LX200 and are stored in EEPROM, is that correct? > > I played around with the settings that can be done via LX200 protocol. For this I browsed through the sources implementing the LX200 command processing. This is a bit tedious and the commenting is not always clear enough for me to understand right away, what the command parameters represent. > So another question is, whether there exists a list of the supported LX200 commands, comparable to the one about OnStep (http://www.stellarjourney.com/index.php?r=site/software_telescope)? > If there is not, I would consider to compose such a list, but I probably needed help with some of the commands. > > For playing around, I have connected a stepper motor to the TeenAstro and I can turn the shaft by M-commands, but the turn is very slow and the motor gets quite hot even when standing still. By increasing the $G setting I can increase the turning rate, but still it stays quite slow. > From what I can see in the sources, according to the comments, the command "SXE1" should "Set the MaxRate in sideral Speed" but there is no code executed at all on decoding that command. > There seems to be an acceleration/deceleration ramp when commanding a move, but the ramp is very slow, maybe a minute or so. I would expect a ramp up/down in a few seconds. > > To summarize: I do not understand, what to do for that motor to work properly. Maybe I have a totally inadequate motor? > I hope that somebody can give me some hints on what could cause the observed motor behaviour. > > By the way, I tried with the INDI driver as well and can observe the exact same unexpected behaviour. > > thank you and best regards > Lukas > > |
|
"I had set CPU speed to 72MHz and Optimize to "Faster", is that right?"
I haven't checked my settings but I would say yes.
"As there is no other branch nor any tag set, I used the git master head; is that reasonable for trying out?"
Yes you can use this version it is not well tested. There is no branch as I have up to now always released the firmware I wasn't interested in maintaining many branches. If we are many people that maintain the code then it is feasible.
"I dug into the sources a bit and it seems that the only compile time configuration is in "Pins.TeenAstro.h" and it seems that all is already set up correctly there, for the TeenAstro Mini with TMC5160 drivers out of the github master head. Am I correct with that?"
Yes in the Pins.TeenAstro.h you can find the different configuration. It is not dokumented because most of the TeenAstro user don't want to play with the arduino code.
"All of the other configurations can be made via LX200 and are stored in EEPROM, is that correct?" Yes this one of the biggest difference with ONStep
"I played around with the settings that can be done via LX200 protocol. For this I browsed through the sources implementing the LX200 command processing. This is a bit tedious and the commenting is not always clear enough for me to understand right away, what the command parameters represent."
As soon as your SHC will be build you can configure all the parameters with the webserver.
"So another question is, whether there exists a list of the supported LX200 commands, comparable to the one about OnStep (http://www.stellarjourney.com/index.php?r=site/software_telescope)?"
No there is no such a list.
"If there is not, I would consider to compose such a list, but I probably needed help with some of the commands. this is a good initiative. The best is to add it in a readme in git hub.
"To summarize: I do not understand, what to do for that motor to work properly. Maybe I have a totally inadequate motor?"
It is not your fault, the documentations are very poor when you try to configure the motor without Jürgen tool or without a SHC.
"Now a few questions arise regarding building from source and setting up for the mechanical properties of the telescope mount (by not using Windows, I cannot use TeenAstroConfig.exe, which aside from that, seems to be closed source):"
This is not correct, and this is also a major difference with ONStep in TeenAstro EVERYTHING is opened.
The ASCOM Driver is opened Source and the firmware uploader too.
you can write one for Linux if you want.
The source code for the firmware uploader can be found here:
You are welcome to contribute and to code, this project have a sure future only if there is a community of developpers.
Charles
Gesendet: Sonntag, 23. Februar 2020 um 23:21 Uhr
Von: luzilu@... An: TeenAstro@groups.io Betreff: [TeenAstro] Building from Sources and Configure for Motors and Motor Controllers? I already posted that I had assembled a TeenAstro Mini and it looks like working.
As I am a Linux guy and want to be able to hack on the software, I don't want to use the prebuilt firmwares and cannot use the flashing tool for Windows. No problem so far, as I already have the Arduino IDE installed and the installation of the Teensyduino extension ran smoothly. I can compile (with only one warning about "enumeration value 'NODRIVER' not handled in switch") the current github head and flash it to the Teensy. Now a few questions arise regarding building from source and setting up for the mechanical properties of the telescope mount (by not using Windows, I cannot use TeenAstroConfig.exe, which aside from that, seems to be closed source): I had set CPU speed to 72MHz and Optimize to "Faster", is that right? As there is no other branch nor any tag set, I used the git master head; is that reasonable for trying out? I dug into the sources a bit and it seems that the only compile time configuration is in "Pins.TeenAstro.h" and it seems that all is already set up correctly there, for the TeenAstro Mini with TMC5160 drivers out of the github master head. Am I correct with that? All of the other configurations can be made via LX200 and are stored in EEPROM, is that correct? I played around with the settings that can be done via LX200 protocol. For this I browsed through the sources implementing the LX200 command processing. This is a bit tedious and the commenting is not always clear enough for me to understand right away, what the command parameters represent. So another question is, whether there exists a list of the supported LX200 commands, comparable to the one about OnStep (http://www.stellarjourney.com/index.php?r=site/software_telescope)? If there is not, I would consider to compose such a list, but I probably needed help with some of the commands. For playing around, I have connected a stepper motor to the TeenAstro and I can turn the shaft by M-commands, but the turn is very slow and the motor gets quite hot even when standing still. By increasing the $G setting I can increase the turning rate, but still it stays quite slow. From what I can see in the sources, according to the comments, the command "SXE1" should "Set the MaxRate in sideral Speed" but there is no code executed at all on decoding that command. There seems to be an acceleration/deceleration ramp when commanding a move, but the ramp is very slow, maybe a minute or so. I would expect a ramp up/down in a few seconds. To summarize: I do not understand, what to do for that motor to work properly. Maybe I have a totally inadequate motor? I hope that somebody can give me some hints on what could cause the observed motor behaviour. By the way, I tried with the INDI driver as well and can observe the exact same unexpected behaviour. thank you and best regards Lukas |
|
Hi Lukas:
toggle quoted message
Show quoted text
I use Linux too, welcome to the community! One of the nice things about TeenAstro is that most parameters can be changed at run time, so a single binary will work for most configurations. The exception is the stepper driver: You need to choose either 2130 or 5160 for the main unit. Also, (in the beta only), the SHC has one binary per language (French, English, German). If you only use english, then you need a single binary. Now to change the runtime parameters, the easiest by far is to use the web server provided by the SHC. Just point your browser to the SHC's IP address, and change motor speed etc. It will be stored in EEPROM and you never need to worry about it unless you change the software version. Another possibility is TeenAstroConfig, which is Windows-only. I started writing a Python program with the same functionality. It is not quite finished, but I can work on it if you need. Concerning the LX200 commands that are supported, have a look at this: https://groups.io/g/TeenAstro/attachment/965/0/TeenAstro%20INDI%20device%20driver.pdf I advise to use the exact hardware, including motors, described in the project pages, because it works fine "out of the box". You can try to change later. Hope this helps François On 23 February 2020 23:21 luzilu@... wrote: |
|
luzilu@...
I already posted that I had assembled a TeenAstro Mini and it looks like working.
As I am a Linux guy and want to be able to hack on the software, I don't want to use the prebuilt firmwares and cannot use the flashing tool for Windows. No problem so far, as I already have the Arduino IDE installed and the installation of the Teensyduino extension ran smoothly. I can compile (with only one warning about "enumeration value 'NODRIVER' not handled in switch") the current github head and flash it to the Teensy. Now a few questions arise regarding building from source and setting up for the mechanical properties of the telescope mount (by not using Windows, I cannot use TeenAstroConfig.exe, which aside from that, seems to be closed source): I had set CPU speed to 72MHz and Optimize to "Faster", is that right? As there is no other branch nor any tag set, I used the git master head; is that reasonable for trying out? I dug into the sources a bit and it seems that the only compile time configuration is in "Pins.TeenAstro.h" and it seems that all is already set up correctly there, for the TeenAstro Mini with TMC5160 drivers out of the github master head. Am I correct with that? All of the other configurations can be made via LX200 and are stored in EEPROM, is that correct? I played around with the settings that can be done via LX200 protocol. For this I browsed through the sources implementing the LX200 command processing. This is a bit tedious and the commenting is not always clear enough for me to understand right away, what the command parameters represent. So another question is, whether there exists a list of the supported LX200 commands, comparable to the one about OnStep (http://www.stellarjourney.com/index.php?r=site/software_telescope)? If there is not, I would consider to compose such a list, but I probably needed help with some of the commands. For playing around, I have connected a stepper motor to the TeenAstro and I can turn the shaft by M-commands, but the turn is very slow and the motor gets quite hot even when standing still. By increasing the $G setting I can increase the turning rate, but still it stays quite slow. From what I can see in the sources, according to the comments, the command "SXE1" should "Set the MaxRate in sideral Speed" but there is no code executed at all on decoding that command. There seems to be an acceleration/deceleration ramp when commanding a move, but the ramp is very slow, maybe a minute or so. I would expect a ramp up/down in a few seconds. To summarize: I do not understand, what to do for that motor to work properly. Maybe I have a totally inadequate motor? I hope that somebody can give me some hints on what could cause the observed motor behaviour. By the way, I tried with the INDI driver as well and can observe the exact same unexpected behaviour. thank you and best regards Lukas |
|