hansastro / focuser Goto Github PK
View Code? Open in Web Editor NEWFocuser for Astronomy based on Arduino (usable by Indi)
License: GNU General Public License v3.0
Focuser for Astronomy based on Arduino (usable by Indi)
License: GNU General Public License v3.0
When called the temperature compensation function is effective only every two calls.
The whole temperature compensation process should be included in the motor controller driver.
Proposal:
The clock speed is set to the preset speed without any acceleration.
Same problem when the motor arrive to the target position. There is no deceleration.
The motor start and stop abruptly. An acceleration/deceleration should be implemented.
When the motor go to a new position the reference temperature should be reinitialized.
Solution:
The static variable isInit in the function compensateTemperature should be a private member and it should be reinitialised to false in case of call of stopMovement.
The maximal speed should be limited according to the step mode. In full Step mode it not possible to move the motor with the same clock speed than in 1/16 mode.
The maximal speed must be limited dependently of the step mode.
This was observed when the motor go backward.
Without any special circuitry the temperature resolution of the LM335 is about 0.5 degree with the ADC of the Arduino.
It can be improved with some amplification of the signal.
Example:
The resolution of the actual solution is 0.5°C.
If we limit the temperature range from -20 to +15°C and use a gain of 13 and an offset of -2,5V to the sensor voltage, the resolution become 0.03°C.
For a temperature range from -25 to +35°C, a gain of 7.8 and an offset of -2.4V the resolution is 0.06°C
The schematics is actually only in PDF. It should be available from the KiCad files.
Also a screen is now added. It should be reflected in the schematic.
I have implemented the focuser on a Nano and it works well. (small form factor)
Needed to reassign temperatureSensorPin to A0 as Nano uses A4 & A5 for I2C used by display .
Note code also currently has:
temperatureSensorPin = 3; I think that should be A3 as Digital pin 3 already assigned.
Even with a 10K pot attached on a Nano the adjustable temperature range is too small. Would useful if there could be an explicit temperature offset factor.
Great project
TNX Max
@hi!
great work, would you be interested in a PCB - i can make a fritzing file/PCB for the focuser ...
yours
wolfi
The temperature calibration is not implemented (command POXX# of the moonlite protocol)
This can be implemented in the LM335 library.
In the temperature compensation mode the speed use to rotate the motor is the default one.
It should be good if a slower speed can be used.
Proposal:
It could be good when some information can be displayed on a little LCD screen.
With the Moonlite protocol the temperature has a resolution of 0,5°C. This resolution is found not optimal for some astronomer.
The temperature, the step mode, the position, temperature compensation status can be displayed.
Tutorial:
http://www.instructables.com/id/Monochrome-096-i2c-OLED-display-with-arduino-SSD13/
After a temperature elevation, when the temperature go back to the origin the whole system hang when the temperature is very close to the origin.
This bug make the temperature compensation mode unusable...
The temperature compensation focusing mode is not implemented
The write temperature is written only after the first integration loop is finished.
A first read of the temperature must be done to avoid wrong value before the first integration loop.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.