Jump to content

Startracker ATM


kudi145
 Share

Recommended Posts

Od jakiegoś czasu szukam taniego patentu na mobilny montaż do krótkich ogniskowych i ostatni wpadł mi w oko, dzięki koledze kasztelan, taki projekt https://www.instructables.com/id/Equatorial-Mount-for-DSLR/ .

Na astromaniaku u kasztelan-a zamówiłem wydruk części, łożyska oraz główną oś. Wszystko przyszło i zostało poskładane w całość. Posiadam dwa kody, jeden oryginalny z wątku oraz poprawiony z mikrokrokami.

Mam w związku z tym wielką prośbę, czy mógłby ktoś obeznany zerknąć na kody i może da się coś w nich poprawić ?

 

Potrzebna biblioteka arduino   https://github.com/tyhenry/CheapStepper

 

EDIT

Gdzie mam podłączyć przełączniki do szybkiego przesuwu, oraz diody w drugim kodzie ?

 

Pierwszy

 

/*<br>Sketch by SimonRob 
3D printed equatorial mount for DSLR
Instructables
*/

int buttonA1 = 0;
int buttonA2 = 0;
int ledOrange = 4;
int ledRed = 5;

#include <CheapStepper.h>

CheapStepper stepper;

void setup() {
  pinMode(A1, INPUT);
  pinMode(A2, INPUT);
  pinMode(ledOrange, OUTPUT);
  pinMode(ledRed, OUTPUT);
}

void loop() {

buttonA1 = digitalRead(A1);
buttonA2 = digitalRead(A2);

if (buttonA1 == HIGH){
  buttonA1 = digitalRead(A1);
  buttonA2 = digitalRead(A2);
  digitalWrite (ledOrange, HIGH);
  digitalWrite (ledRed, LOW);
  stepper.step(false);
  delay(6);
}
if (buttonA2 == HIGH){
  buttonA1 = digitalRead(A1);
  buttonA2 = digitalRead(A2);
  digitalWrite (ledOrange, HIGH);
  digitalWrite (ledRed, LOW);
  stepper.step(true);
  delay(6);
}
while((buttonA1 == LOW)&&(buttonA2 == LOW)){
  buttonA1 = digitalRead(A1);
  buttonA2 = digitalRead(A2);
  digitalWrite (ledOrange, LOW);
  digitalWrite (ledRed, HIGH);
  stepper.step(false);
  delay(3523);
    
}
} 

Drugi 

/*
Stepper Motor Control - with Microstepping
The outputs produce PWM signals that are 90 degrees out of phase
if sin(t) > 0 => PWM to L1
if sin(t) < 0 => PWM to L2
if cos(t) > 0 => PWM to L3
if cos(t) < 0 => PWM to L4
*/

const int stepsPerRevolution = 4076; // 4096 or 4076?? half-steps
// see https://www.makerguides.com/28byj-48-stepper-motor-arduino-tutorial/
const long timePerRevolution = 14360666; // milliseconds per revolution

// For the stepper motor, equals IN1-IN4 on the ULN2803-board.
// Swap L3 and L4 if the direction of rotation is reversed!
int L1 = 8, L2 = 9, L3 = 10, L4 = 11; // only use outputs, that are PWM-capable!

// steps for manual adjustment
#define step1 0b1001
#define step2 0b1000
#define step3 0b1010
#define step4 0b0010
#define step5 0b0110
#define step6 0b0100
#define step7 0b0101
#define step8 0b0001
#define manualTime 10
//uint8_t steps[]={step1, step2, step3, step4, step5, step6, step7, step8}; // half-steps
uint8_t steps[]={step1, step3, step5, step7}; // full-steps
unsigned long stepCount = 0; // number of steps the motor has taken
int period; // length of period in ms

void setup() {
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600); // debug only
period = 8* timePerRevolution/stepsPerRevolution; // one period equals 8 half-steps
}

void loop() {
int16_t phase_a, phase_b;
int16_t SetMotor = analogRead(A0); // use one potentiometer or two buttons (one SPDT-switch)
phase_a = (int16_t)(255.0 * sin(millis() * 6.2832 / period ));
phase_b = (int16_t)(255.0 * cos(millis() * 6.2832 / period ));
Serial.print(phase_a); // debug only
Serial.print(", "); // use the serial plotter
Serial.println(phase_b);
if(SetMotor > 800) { // adjust clockwise
digitalWrite(LED_BUILTIN,LOW);
setMotor(steps[stepCount++%4]); // %8 if half-steps are used
delay(manualTime);
}
else if (SetMotor < 240) { // adjust counter-clockwise
digitalWrite(LED_BUILTIN,HIGH);
setMotor(steps[stepCount--%4]); // %8 if half-steps are used
delay(manualTime);
}
else { // automatic rotation, blink the LED
if(phase_a>=0) {
analogWrite(L2, 0);
analogWrite(L1, phase_a);
}
else {
analogWrite(L1, 0);
analogWrite(L2, -phase_a); // no negative values für PWM!
}
if(phase_b>=0) {
analogWrite(L4, 0);
analogWrite(L3, phase_b);
}
else {
analogWrite(L3, 0);
analogWrite(L4, -phase_b);
}
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // blink
delay(50);
}
}

// set steps for manual adjustment.n
void setMotor(uint8_t Step) {
digitalWrite(L1,Step&0x01);
digitalWrite(L2,Step&0x02);
digitalWrite(L3,Step&0x04);
digitalWrite(L4,Step&0x08);
}

 

 

Edited by kudi145
  • Like 1
Link to comment
Share on other sites

  • 2 months later...
Hej,

Na pin A0. Wejście analogowe.
int16_t SetMotor = analogRead(A0); // use one potentiometer or two buttons (one SPDT-switch)

 

Nie ma opcji diod w drugim kodzie. Jest tylko sterowanie wbudowaną diodą. 

digitalWrite(LED_BUILTIN,HIGH)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Our picks

    • Migracja Astropolis na nowy serwer - opinie
      Kilka dni temu mogliście przeczytać komunikat o wyłączeniu forum na dobę, co miało związek z migracją na nowy serwer. Tym razem nie przenosiłem Astropolis na większy i szybszy serwer - celem była redukcja dosyć wysokich kosztów (ok 17 tys rocznie za dedykowany serwer z administracją). Biorąc pod uwagę fakt, że płacę z własnej kieszeni, a forum jest organizacją w 100% non profit (nie przynosi żadnego dochodu), nie znalazłem w sobie uzasadnienia na dalsze akceptowanie tych kosztów.
        • Thanks
        • Like
      • 60 replies
    • Droga Mleczna w dwóch gigapikselach
      Zdjęcie jest mozaiką 110 kadrów, każdy po 4 minuty ekspozycji na ISO 400. Wykorzystałem dwa teleskopy Takahashi Epsilon 130D i dwa aparaty Nikon D810A zamocowane na montażu Losmandy G11 wynajętym na miejscu. Teleskopy były ustawione względem siebie pod lekkim kątem, aby umożliwić fotografowanie dwóch fragmentów mozaiki za jednym razem.
        • Love
        • Thanks
        • Like
      • 48 replies
    • Przelot ISS z ogniskowej 2350 mm
      Cześć, po kilku podejściach w końcu udało mi się odpowiednio przygotować cały sprzęt i nadążyć za ISS bez stracenia jej ani razu z pola widzenia. Wykorzystałem do tego montaż Rainbow RST-135, który posiada sprzętową możliwość śledzenia satelitów.
      Celestron Edge 9,25" + ZWO ASI183MM. Czas ekspozycji 6 ms na klatkę, końcowy film składa się z grup 40 klatek stackowanych, wyostrzanych i powiększonych 250%.
      W przyszłości chciałbym wrócić do tematu z kamerką ASI174MM, która z barlowem 2x da mi podobną skalę, ale 5-6 razy większą liczbę klatek na sekundę.
      Poniżej film z przelotu, na dole najlepsza klatka.
        • Love
        • Thanks
        • Like
      • 73 replies
    • Big Bang remnant - Ursa Major Arc or UMa Arc
      Tytuł nieco przekorny bo nie chodzi tu oczywiście o Wielki Wybuch ale ... zacznijmy od początku.
       
      W roku 1997 Peter McCullough używając eksperymentalnej kamery nagrał w paśmie Ha długą na 2 stopnie prostą linie przecinajacą niebo.
       
      Peter McCullough na konferencji pokazał fotografię Robertowi Benjamin i obaj byli pod wrażeniem - padło nawet stwierdzenie: “In astronomy, you never see perfectly straight lines in the sky,”
        • Love
        • Thanks
        • Like
      • 17 replies
    • Jeśli coś jest głupie, ale działa, to nie jest głupie - o nietypowych rozwiązaniach sprzętowych
      Sformułowanie, które można znaleźć w internetach jako jedno z "praw Murphy'ego" przyszło mi na myśl, gdy kolejny raz przeglądałem zdjęcia na telefonie z ostatniego zlotu, mając z tyłu głowy najgłośniejszy marsjański temat na forum. Do rzeczy - jakie macie (bardzo) nietypowe patenty na usprawnienie sprzętu astronomicznego bądź jakieś kreatywne improwizacje w razie awarii czy niezabrania jakiegoś elementu sprzętu  Obstawiam, że @HAMAL mógłby samodzielnie wypełnić treścią taki wątek.
        • Haha
        • Like
      • 43 replies
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.