Aller au contenu
Forum Avex

supaii

Avexiens
  • Compteur de contenus

    940
  • Inscription

  • Dernière visite

  • Jours gagnés

    44

Tout ce qui a été posté par supaii

  1. Bonjour, tu l'as fait avec ton asi071?
  2. Ca se concretétise enfin, bravo à l'équipe.
  3. supaii

    NGC 6960

    Bravo, dur cette étoile à effacer. Je ne savais pas que tu avais une Atik
  4. supaii

    SH2-170

    Mouai peu mieux faire 44h sous un bon ciel, ah le rêve d'avoi un observatoire avec du vrai matos. Merci pour ce partage, belle prise comme toutes vos photographies que j'ai pu voir. J'aimerai me mettre au SHO... les filtres de 3nm, je commencerai peu être avec des ZWO en 31.5...
  5. ha, c'est bon cru ce mois de septembre, pour nous exercé . Bravo Alex
  6. Salut, Comme Alex je m'exerce aussi sur une cam NB avec la gestion des filtres et Pixinsight. Image brute bof, guidage bof, je pense avoir du tilt et le back focus de l'aplanisseur pas tip top... Depuis ma terrasse, dans Argenteuil, pleine pollution. Voici une prise de vue réalisée 03/09/2019. La nébuleuse du croissant (NGC6888) dans la constellation du cygne, en pleine voie lactée. https://fr.wikipedia.org/wiki/N%C3%A9buleuse_du_Croissant Image totalise 4 heures de pose, avec des filtres pour une trichromie. (gain 11, offset 8 sur QHY183M) 50 images sur 60 de 180 secondes avec un filtre luminance 10 images de 180 secondes avec un filtre rouge 10 images de 180 secondes avec un filtre vert 10 images de 180 secondes avec un filtre bleu Je testerai la réduction des étoiles via starmask, elles sont très présentes.
  7. et pour vous amusez, mais en numérique. https://www.tinkercad.com/things/1MRkbfWHVks Code à rentrer dans le moniteur serie: https://www.optecinc.com/astronomy/catalog/alnitak/resources/Alnitak_GenericCommandsR4.pdf example : >OOOOCR ouvre le capot >COOOCR ferme le capot etc...
  8. Ajout du dernier code pour le flipflat, suit au changement des leds par des neopixels. Bibliothèque "servo.h" changée pour "Adafruit_TiCoServo.h" (compatibilité avec bibli pour neopixel) Ajout bibiothèque "Adafruit_NeoPixel.h" pour neopixel [spoil]/* What: LEDLightBoxAlnitak - PC controlled lightbox implmented using the Alnitak (Flip-Flat/Flat-Man) command set found here: http://www.optecinc.com/astronomy/pdf/Alnitak Astrosystems GenericCommandsR3.pdf Who: Created By: Jared Wellman - jared@mainsequencesoftware.com When: Last modified: 2013/May/05 Typical usage on the command prompt: Send : >S000\n //request state Recieve : *S19000\n //returned state Send : >B128\n //set brightness 128 Recieve : *B19128\n //confirming brightness set to 128 Send : >J000\n //get brightness Recieve : *B19128\n //brightness value of 128 (assuming as set from above) Send : >L000\n //turn light on (uses set brightness value) Recieve : *L19000\n //confirms light turned on Send : >D000\n //turn light off (brightness value should not be changed) Recieve : *D19000\n //confirms light turned off. */ #include //#include //Servo myservo; #include Adafruit_TiCoServo myservo; #include int position_cap; volatile int ledPin = 6; // the pin that the LED is attached to, needs to be a PWM pin. volatile int servoPin = 10; // the pin that the servo signal is attached to, needs to be a PWM pin. int brightness = 0; const int closeAngle=0; //25 // Angle of the servo when the cap is close const int openAngle=60; //45 // Angle of the servo when the cap is open const int slowAngle=30; // Angle of the servo for approach to close/open // How many NeoPixels are attached to the Arduino? #define NUMPIXELS 61 // Popular NeoPixel ring size // Paramètre 1 = Le nombre de NéoPixels chainés // Paramètre 2 = No de broche de données (Sur votre Arduino, la plupart convient) // Paramètre 3 = Type de pixel (flags/drapeaux), a combiner ensemble en fonction du besoin: // NEO_KHZ800 flux de données à 800 KHz (plupart des NéoPixel basé sur les LEDs w/WS2812) // NEO_KHZ400 flux de données à 400 KHz (Pour les Pixels classiques 'v1' FLORA (pas les V2) pilotés par WS2811) // NEO_GRB Pixels sont raccordés en flux de donnée GRB (GRB=Green,Red,Blue=Vert,Rouge,Bleu - la plupart des produits NéoPixel) // NEO_RGB Pixels sont raccordés en flux de donnée RGB (RGB=Red,Green,Blue=Rouge,Vert,Bleu - Pixels FLORA v1, pas la v2) Adafruit_NeoPixel pixels(NUMPIXELS, ledPin, NEO_GRB + NEO_KHZ800); enum devices { FLAT_MAN_L = 10, FLAT_MAN_XL = 15, FLAT_MAN = 19, FLIP_FLAT = 99 }; enum motorStatuses { STOPPED = 0, RUNNING }; enum lightStatuses { OFF = 0, ON }; enum shutterStatuses { UNKNOWN = 0, // ie not open or closed...could be moving CLOSED, OPEN }; int deviceId = FLIP_FLAT; int motorStatus = STOPPED; int lightStatus = OFF; int coverStatus = EEPROM.get(position_cap,coverStatus); void setup() { // initialize the serial communication: Serial.begin(9600); // initialize the ledPin as an output: pinMode(ledPin, OUTPUT); //analogWrite(ledPin, 0); myservo.write(closeAngle); myservo.attach(servoPin,500,2500); pixels.begin(); pixels.show(); // Initialise tous les pixels à 'off' (éteint) } void loop() { handleSerial(); } void handleSerial() { delay(100); if( Serial.available() >= 5 ) // all incoming communications are fixed length at 6 bytes including the \n { char* cmd; char* data; char temp[10]; int len = 0; char str[20]; memset(str, 0, 20); // I don't personally like using the \n as a command character for reading. // but that's how the command set is. // Serial.readBytesUntil('\n', str, 20); Serial.readBytes( str, 5); cmd = str + 1; data = str + 2; // useful for debugging to make sure your commands came through and are parsed correctly. if( false ) { sprintf( temp, "cmd = >%s%s;", cmd, data); Serial.println(temp); } switch( *cmd ) { /* Ping device Request: >P000\n Return : *Pii000\n id = deviceId */ case 'P': sprintf(temp, "*P%d000\n", deviceId); Serial.print(temp); break; /* Open shutter Request: >O000\n Return : *Oii000\n id = deviceId This command is only supported on the Flip-Flat! */ case 'O': sprintf(temp, "*O%d000\n", deviceId); SetShutter(OPEN); EEPROM.put(position_cap,OPEN); Serial.print(temp); break; /* Close shutter Request: >C000\n Return : *Cii000\n id = deviceId This command is only supported on the Flip-Flat! */ case 'C': sprintf(temp, "*C%d000\n", deviceId); SetShutter(CLOSED); EEPROM.put(position_cap,CLOSED); Serial.print(temp); break; /* Turn light on Request: >L000\n Return : *Lii000\n id = deviceId */ case 'L': sprintf(temp, "*L%d000\n", deviceId); Serial.print(temp); lightStatus = ON; //analogWrite(ledPin, brightness); // The first NeoPixel in a strand is #0, second is 1, all the way up // to the count of pixels minus one. for(int i=0; i // pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255 // Here we're using a moderately bright green color: pixels.setPixelColor(i, pixels.Color(255, 255, 255)); pixels.setBrightness(brightness); pixels.show(); // Send the updated pixel colors to the hardware. } break; /* Turn light off Request: >D000\n Return : *Dii000\n id = deviceId */ case 'D': sprintf(temp, "*D%d000\n", deviceId); Serial.print(temp); lightStatus = OFF; //analogWrite(ledPin, 0); pixels.clear(); // Set all pixel colors to 'off' pixels.show(); // Send the updated pixel colors to the hardware. break; /* Set brightness Request: >Bxxx\n xxx = brightness value from 000-255 Return : *Biiyyy\n id = deviceId yyy = value that brightness was set from 000-255 */ case 'B': brightness = atoi(data); if( lightStatus == ON ) // analogWrite(ledPin, brightness); for(int i=0; i // pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255 // Here we're using a moderately bright green color: pixels.setPixelColor(i, pixels.Color(255, 255, 255)); pixels.setBrightness(brightness); pixels.show(); // Send the updated pixel colors to the hardware. } sprintf( temp, "*B%d%03d\n", deviceId, brightness ); Serial.print(temp); break; /* Get brightness Request: >J000\n Return : *Jiiyyy\n id = deviceId yyy = current brightness value from 000-255 */ case 'J': sprintf( temp, "*J%d%03d\n", deviceId, brightness); Serial.print(temp); break; /* Get device status: Request: >S000\n Return : *SidMLC\n id = deviceId M = motor status( 0 stopped, 1 running) L = light status( 0 off, 1 on) C = Cover Status( 0 moving, 1 closed, 2 open) */ case 'S': sprintf( temp, "*S%d%d%d%d\n",deviceId, motorStatus, lightStatus, EEPROM.get(position_cap,coverStatus)); Serial.print(temp); break; /* Get firmware version Request: >V000\n Return : *Vii001\n id = deviceId */ case 'V': // get firmware version sprintf(temp, "*V%d001\n", deviceId); Serial.print(temp); break; } while( Serial.available() > 0 ) Serial.read(); } } void SetShutter(int val) { if( val == OPEN && coverStatus != OPEN ) { for (int angle = closeAngle; angle <= closeAngle + slowAngle; angle+=1) { myservo.write (angle); delay (70); } myservo.write (openAngle - slowAngle); for (int angle = openAngle - slowAngle; angle <= openAngle; angle+=1) { myservo.write (angle); delay (70); } coverStatus = OPEN; // TODO: Implement code to OPEN the shutter. } else if( val == CLOSED && coverStatus != CLOSED ) { for (int angle = openAngle; angle > openAngle - slowAngle; angle-=1) { myservo.write (angle); delay (70); } myservo.write (closeAngle + slowAngle); for (int angle = closeAngle + slowAngle; angle > closeAngle; angle-=1) { myservo.write (angle); delay (70); } coverStatus = CLOSED; // TODO: Implement code to CLOSE the shutter } else { // TODO: Actually handle this case coverStatus = val; } }[/spoil]
  9. supaii

    Monture

    Moi aussi dans les coteaux . Le guidage ne te permet pas de faire les photos de 600s?
  10. supaii

    Monture

    Bienvenu sur le forum, Ouai un argenteuillais, comme moi. Vive la pollution lumineuse! je ne peut te conseiller (un peu neophyte dans les montures, et autre d'ailleurs . Les vrai avis arriveront. Olivier
  11. supaii

    Tutoriel PixInsight

    J'ai regardé aussi d'autre turoriels en français, bien faits aussi https://www.youtube.com/channel/UCaPGRabUbcB_yHZmnKGJHcw
  12. intéressant sur le pedestal https://www.cloudynights.com/topic/542837-pedestalplease-explain-in-basic-terms/
  13. Merci pour ces retours. J'ai soustrait avec pixelmath, mais pas de grande différence sur le bruit (surement que j'ai mal fait la soustraction). Est-ce le bon procédé? pour info à -10°(pour 40000ADU sur 65M): -10 flats en L pour une durée de 0.02 secondes par flat -10 flats en R pour une durée de 0.1 secondes par flat -10 flats en V pour une durée de 0.06 secondes par flat -10 flats en B pour une durée de 0.04 secondes par flat Si je comprend bien soit je fait des darks avec le temps expos correspondant pour chaque serie de flats et/ou j'augmente la luminosité du panneau pour être au plus proche de l'exposition d'un offset (50µs pour ma cam, soit 0.00005s)? J'avoue être un peu étonné de ce bruit. J'ai mis un empilement de bias et la série en luminance (Brute) dans le -asso.org/filerun/#/HOME/Images/Supaii%20(olivier)/test_flat'> , si vous avez le temps...
  14. oui de lecture surement?
  15. Juste un petit retour, j ai monté les leds neopixels et ca va beaucoup mieux. les flat ont été fait avec le panneau régler sur 10 en termes de luminosité (sur 255, ça laisse de la marge por le narrow . voici le rendu, en fausse couleur biensur, sur un stack de dix flats en luminance.
  16. Un ptit up Pour vous montrer en fonctionnement sous Kstar/Ekos/Indi https://www.youtube.com/watch?v=aM7uLZ4IfAA.
  17. c'est vrai que c'est bien compact. Pour en avoir fait un à la mano (myfocuser Pro), il bien sexy pour un prix en desous de la moyenne. Par contre j 'ai pas trouvé la précision du bouzin
  18. Whao , joli souvenir
  19. ajout du code de l'arduino.
  20. supaii

    M51 QUERCY 2019

    Bravo alex
  21. Le projet [glow=red]5[/glow] est sur le finich... Une petite description: Réalisation d'un boite à flat motorisée sur une TS80/480 (triplet). Les contraintes: - fonctionnement sous linux (Ubuntu via RPI/Tinkerboard) - emcombrement réduit - prix low cost - 12V ou 5V Pour commencer, j'etait parti sur un fonctionnement sur raspberry (via servo blaster), mais le flat sera restreint à ce type architecture. Puis j'ai laisser tomber ce system quelque mois quand il ne fonctionnait que sur un RPI3B+ (raspberry) mais pas sur ma tinkerboard (format identique à un raspberry). Mais un beau jour je suis tomber sur un code sur github à ce sujet, exploitant le driver d'Aniltak (FlipFlat d'Optec). Super, j'était parti sur un arduino uno, et ça fonctionne comme le FlatMan (celui sans motorisation), il ne me restait que le code du servo à réaliser, mais trop dur pour moi. A ce stade, il conviendra dans un observatoire avec un écran led sur un mur, mais pas à du nomade... Quand vient un post sur webastro à ce sujet , deux trois ligne de code plus tard et ca bouge mais cet arduino est gros, trop gros pour etre mis sur le par-buée de ma lunette (taille d'une carte de crédit). Je decide donc de prendre, un arduino pro micro et de faire ma propre carte electronique.(alimentée en 5V) Quelques jours plus tard et quelques soudures, le premier test est fonctionel. hop on part sur la 3D, on imprime et on retest tout est OK. Pour Les fournitures: un servomoteur 20kg 270° mais un 180° fonctionne aussi, tout dépend de l'angle d'ouverture que vous voulez. Ainsi que son bras. Pour la partie eclairage, les leds et la connection Le mosfet qui sert à controler, sur 255 pas, la luminosité de la lumière. La prisede l alimentation en 5V. et l'Arduino. Maintenant, je vais changer la bande de led qui n'est pas tip top en diffusion avec le plexi blanc que j 'ai, j'ai commandé ceci, on vera bien... (pour du narrowband, ce n'est pas assez pluissant à mon gout , mais pas tester) Le 3D est adaptable à différente lunette il faut juste me donner le diamètre du par-buée (celui qui à envie de s'en faire un). fixation par tyrap ou scratch (en fonction du poids) coupe de la partie eclairage: Le code pour l'arduino (à copier) /* What: LEDLightBoxAlnitak - PC controlled lightbox implmented using the Alnitak (Flip-Flat/Flat-Man) command set found here: http://www.optecinc.com/astronomy/pdf/Alnitak Astrosystems GenericCommandsR3.pdf Who: Created By: Jared Wellman - jared@mainsequencesoftware.com When: Last modified: 2013/May/05 Typical usage on the command prompt: Send : >S000\n //request state Recieve : *S19000\n //returned state Send : >B128\n //set brightness 128 Recieve : *B19128\n //confirming brightness set to 128 Send : >J000\n //get brightness Recieve : *B19128\n //brightness value of 128 (assuming as set from above) Send : >L000\n //turn light on (uses set brightness value) Recieve : *L19000\n //confirms light turned on Send : >D000\n //turn light off (brightness value should not be changed) Recieve : *D19000\n //confirms light turned off. */ #include <EEPROM.h> int position_cap; #include <Servo.h> Servo myservo; volatile int ledPin = 11; volatile int servoPin = 9; // the pin that the servo signal is attached to, needs to be a PWM pin. int brightness = 0; enum devices { FLAT_MAN_L = 10, FLAT_MAN_XL = 15, FLAT_MAN = 19, FLIP_FLAT = 99 }; enum motorStatuses { STOPPED = 0, RUNNING }; enum lightStatuses { OFF = 0, ON }; enum shutterStatuses { UNKNOWN = 0, // ie not open or closed...could be moving CLOSED, OPEN }; int deviceId = FLIP_FLAT; int motorStatus = STOPPED; int lightStatus = OFF; int coverStatus = EEPROM.get(position_cap,coverStatus); const int impulsion_min=450; const int impulsion_max=2500; int relai=7; void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); pinMode(servoPin, OUTPUT); pinMode(relai, OUTPUT); analogWrite(ledPin, 0); digitalWrite(relai, LOW); myservo.write(0); myservo.attach(9,impulsion_min,impulsion_max); } void loop() { handleSerial(); } void handleSerial() { delay(100); if( Serial.available() >= 5 ) // all incoming communications are fixed length at 6 bytes including the \n { char* cmd; char* data; char temp[10]; int len = 0; char str[20]; memset(str, 0, 20); // I don't personally like using the \n as a command character for reading. // but that's how the command set is. // Serial.readBytesUntil('\n', str, 20); Serial.readBytes( str, 5); cmd = str + 1; data = str + 2; // useful for debugging to make sure your commands came through and are parsed correctly. if( false ) { sprintf( temp, "cmd = >%s%s;", cmd, data); Serial.println(temp); } switch( *cmd ) { /* Ping device Request: >P000\n Return : *Pii000\n id = deviceId */ case 'P': sprintf(temp, "*P%d000\n", deviceId); Serial.print(temp); break; /* Open shutter Request: >O000\n Return : *Oii000\n id = deviceId This command is only supported on the Flip-Flat! */ case 'O': sprintf(temp, "*O%d000\n", deviceId); SetShutter(OPEN); EEPROM.put(position_cap,OPEN); Serial.print(temp); break; /* Close shutter Request: >C000\n Return : *Cii000\n id = deviceId This command is only supported on the Flip-Flat! */ case 'C': sprintf(temp, "*C%d000\n", deviceId); SetShutter(CLOSED); EEPROM.put(position_cap,CLOSED); Serial.print(temp); break; /* Turn light on Request: >L000\n Return : *Lii000\n id = deviceId */ case 'L': sprintf(temp, "*L%d000\n", deviceId); Serial.print(temp); lightStatus = ON; analogWrite(ledPin, brightness); break; /* Turn light off Request: >D000\n Return : *Dii000\n id = deviceId */ case 'D': sprintf(temp, "*D%d000\n", deviceId); Serial.print(temp); lightStatus = OFF; analogWrite(ledPin, 0); break; /* Set brightness Request: >Bxxx\n xxx = brightness value from 000-255 Return : *Biiyyy\n id = deviceId yyy = value that brightness was set from 000-255 */ case 'B': brightness = atoi(data); if( lightStatus == ON ) analogWrite(ledPin, brightness); sprintf( temp, "*B%d%03d\n", deviceId, brightness ); Serial.print(temp); break; /* Get brightness Request: >J000\n Return : *Jiiyyy\n id = deviceId yyy = current brightness value from 000-255 */ case 'J': sprintf( temp, "*J%d%03d\n", deviceId, brightness); Serial.print(temp); break; /* Get device status: Request: >S000\n Return : *SidMLC\n id = deviceId M = motor status( 0 stopped, 1 running) L = light status( 0 off, 1 on) C = Cover Status( 0 moving, 1 closed, 2 open) */ case 'S': sprintf( temp, "*S%d%d%d%d\n",deviceId, motorStatus, lightStatus, EEPROM.get(position_cap,coverStatus)); Serial.print(temp); break; /* Get firmware version Request: >V000\n Return : *Vii001\n id = deviceId */ case 'V': // get firmware version sprintf(temp, "*V%d001\n", deviceId); Serial.print(temp); break; } while( Serial.available() > 0 ) Serial.read(); } } void SetShutter(int val) { if( val == OPEN && coverStatus != OPEN ) { for (int angle = 25; angle <= 55; angle+=1) { myservo.write (angle); delay (70); } myservo.write (115); for (int angle = 115; angle <= 145; angle+=1) { myservo.write (angle); delay (70); } coverStatus = OPEN; // TODO: Implement code to OPEN the shutter. } else if( val == CLOSED && coverStatus != CLOSED ) { for (int angle = 145; angle > 115; angle-=1) { myservo.write (angle); delay (70); } myservo.write (55); for (int angle = 55; angle > 25; angle-=1) { myservo.write (angle); delay (70); } coverStatus = CLOSED; // TODO: Implement code to CLOSE the shutter } else { // TODO: Actually handle this case coverStatus = val; } } PS: normalement il doit fonctionner sous windows via sharpcap et autres (test à faire) la différence de prix est significative 500$ contre 50€ à tout casser Image de la réalisation
  22. Très joli Loic
  23. supaii

    filtre CMOS

    C'est sur, mais je ne crois pas qu'on ai des filtres en 31.75 pour tester... si quelqu'un en a, cela serait super.
  24. Merci j'ai trouvé aussi ceci (quelque dixième de différences avec ta formule). https://astronomy.tools/calculators/ccd_filter_size
  25. supaii

    filtre CMOS

    Une petite comparaison en termes de prix
×
×
  • Créer...

Information importante

Conditions générales