Aller au contenu

Un flip flat pour 4 sous


gehelem

Messages recommandés

il y a 39 minutes, supaii a dit :

Juste si c est possible, d aller moins vite à l ouverture

Tiens :

Révélation

void SetShutter(int val)
{
	if( val == OPEN && coverStatus != OPEN )
	{
    for (int angle = 0; angle <= 30; angle+=1) 
    {
      myservo.write (angle);
      delay (70);
    } 
    myservo.write (150);
    for (int angle = 150; angle <= 180; 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 = 180; angle > 150; angle-=1) 
    {
      myservo.write (angle);
      delay (70);
    }   
    myservo.write (30);  
    for (int angle = 30; angle > 0; angle-=1) 
    {
      myservo.write (angle);
      delay (70);
    } 
		coverStatus = CLOSED;
		// TODO: Implement code to CLOSE the shutter
	}
	else
	{
		// TODO: Actually handle this case
		coverStatus = val;
	}
	
}

 

 

Je laisse tomber pour le moment mes histoires d'allumage, le weekend file trop vite

Je passe à la 3D, quelle misère...

image.png.0c0758d838c45950b037f29d06a8ad50.png

Lien vers le commentaire
Partager sur d’autres sites

il y a 9 minutes, JMDSomme a dit :

@gehelem  dès que t'en es sorti tu nous résumes la recette (composants, schéma, code etc...? ;)

 

il y a 7 minutes, manudu74 a dit :

Voir carrément un lot complet prêt à l'emploi ;)

 

C'est le but !

Sinon je le ferais dans mon coin 😁

  • J'aime 1
  • Merci / Quelle qualité! 1
Lien vers le commentaire
Partager sur d’autres sites

quelles dimensions ton truc?

tu as un plateau chauffant?

si pas trop énorme... que tu m'envoies un G Code  (ou un fichier *.obj) et que tu as du lexomil pour attendre le courrier je peux essaye de te le sortir.

Mais s'il est gros comme le laisse penser la photo: tu as pensé à l'alu ?

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, JMDSomme a dit :

quelles dimensions ton truc?

tu as un plateau chauffant?

si pas trop énorme... que tu m'envoies un G Code  (ou un fichier *.obj) et que tu as du lexomil pour attendre le courrier je peux essaye de te le sortir.

Mais s'il est gros comme le laisse penser la photo: tu as pensé à l'alu ?

 

il y a une heure, Cedric02700 a dit :

@gehelem Ou la! Que s'est il passé?

 

il y a 52 minutes, Malik a dit :

 

Pbm de température ambiante ou de refroidissement en sortie de buse

 

je suis passé par la... 

Merci @JMDSomme je fais mes classes...

J'y suis allé en mode commando au max de vitesse

Et ça c'est mal.

Surtout avec des parties en dévert (ça s'écrit comme ça??)

 

J'en ai lancé une autre, en + soft 😁

Ça a l'air mieux, encore 20mn je crois

 

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 5 minutes, gehelem a dit :

Ma pièce est finie, c'est bien mieux

Mais mes histoires de dévert ne rendent pas bien.

Je vais potasser dans ma tête, sans doute en faisant plusieurs pièces que j'assemble 

Tu as l option supports d impression pour tes encorbellements  ? De tte façon faut pa être pressé !

Lien vers le commentaire
Partager sur d’autres sites

il y a 55 minutes, JMDSomme a dit :

Tu as l option supports d impression pour tes encorbellements  ? De tte façon faut pa être pressé !

Oui : Cura m'ajoute plein de trucs 

Mais le rendu des surfaces encorbellées n'est pas top, je trouve.

 

Nb : plus j'y pense et plus je me dis que des leds plantées dans du polystyrène ou du PLA blanc seront plus faciles à faire que cette cochonnerie de commande pour le panneau EL...

Vous avez 2h.

Lien vers le commentaire
Partager sur d’autres sites

@gehelem

Perso c'est ma solution! léger et efficace! une feuille de papier opaque, un bout de plexiglas et roule!

4 led (ou plus en fonction du diamètre) en  parallèle avec 4 résistances et c'est fini!

pour les puristes on peut ajouter un papier blanc pour parfaire le tout mais ma BAF maison d'origine n'en comporte pas et j'ai toujours eu des bons flats!

Après il y'a aussi les rubans à led directe en USB 12V mais faut passer par une alim externe sur le Flip  Flat.

ce genre là: http://www.rubanled.com/5630_blanc_neutre

Comme y'a déjà un fil pour l'USB donc un de plus pour une alim externe ca peut le faire!!

En tout cas moi je vais partir la dessus :)

 

 

Pour en dire un peu plus, n'ayant pas encore imaginé le bouchon, je vois bien quelque chose comme ça:

capuchon rond, avec un diamètre rond un peu plus larde que le pare buée de ma lulu.

il sera un peu plus profond qu'un cache ordinaire pour y mettre l’électronique, à savoir, l'arduino nano, la fiche usb du ruban et une fiche alim 12V avec un relais en plus dans le code qu'on a déjà.

 

j'ai retravaillé le code pour moi avec un relais qui n'allume le servo que lorsque l'on active la commande ouverture ou fermeture.

du coup je n'ai plus ce problème à l'initialisation.

On paramètre le moteur en position 0, puis on attache le moteur au pin 9.

ca marche avec le moniteur série mais pas eu le temps d'essayer sur INDI, notamment pour savoir s'il connait la position au départ.

le code pour une version en 5V:

Révélation

 

 /*
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 <Servo.h>
Servo myservo;

volatile int ledPin   = 11;      // the pin that the LED is attached to, needs to be a PWM pin.
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 = UNKNOWN;

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);
          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);
          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, 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 )
    {
    digitalWrite(relai, HIGH);
    for (int angle = 0; angle <= 30; angle+=1) 
    {
      myservo.write (angle);
      delay (70);
    } 
    myservo.write (150);
    for (int angle = 150; angle <= 180; angle+=1) 
    {
      myservo.write (angle);
      delay (70);
    } 
        coverStatus = OPEN;
        digitalWrite(relai, LOW);
        // TODO: Implement code to OPEN the shutter.
    }
    else if( val == CLOSED && coverStatus != CLOSED )
    {
    digitalWrite(relai, HIGH);
    for (int angle = 180; angle > 150; angle-=1) 
    {
      myservo.write (angle);
      delay (70);
    }   
    myservo.write (30);  
    for (int angle = 30; angle > 0; angle-=1) 
    {
      myservo.write (angle);
      delay (70);
    } 
        coverStatus = CLOSED;
        digitalWrite(relai, LOW);
        // TODO: Implement code to CLOSE the shutter
    }
    else
    {
        // TODO: Actually handle this case
        coverStatus = val;
    }
    
}

 

 

Modifié par olivier1986
Lien vers le commentaire
Partager sur d’autres sites

@supaii

c'est encore mieux!! c'est un ruban led usb 5V blanc mono couleur ou il faut une télécommande pour la faire varier?

 

je vois un truc comme ça et le code marche bien:

 

 

flip flat.jpg

 

combien consomme ton ruban en courant tu sais?

car l'usb c'est max 0.5A max... après il sera branché sur un hub alimenté donc normalement ca ira bien!!

@supaii as tu une référence pour ton ruban stp?

Lien vers le commentaire
Partager sur d’autres sites

Le 23/04/2019 à 13:04, olivier1986 a dit :

combien consomme ton ruban en courant tu sais?

car l'usb c'est max 0.5A max... après il sera branché sur un hub alimenté donc normalement ca ira bien!!

@supaii as tu une référence pour ton ruban stp?

https://fr.aliexpress.com/item/USB-LED-Strip-lamp-2835SMD-DC5V-Flexible-LED-light-Tape-Ribbon-1M-2M-3M-4M-5M/32813093650.html?spm=a2g0s.9042311.0.0.27426c37lT2OnH

 

 

60mA pour 50cm de ruban à 250 sur indi

DSC_0240.JPG

Lien vers le commentaire
Partager sur d’autres sites

Ca vaudrait le coup de poser un petit step down à partir du 12 V pour alimenter les leds, en plus ça te permet de régler une bonne fois l'intensité de ton flat, ça vaut 3€ et ça prend pas de place...

pour ma part si je me lance à fabriquer le bouchon magique:

  • je désosse mon écran à flat du commerce (vendu bien cher pour ce que c'est)
  • je récupère les bouts de ruban led pour tapisser le fond bien serré et homogène
  • je coupe deux ronds au diamètre de la lulu dans le plexi (bien blanc et de qualité) du bidule pour bien homogénéiser le flux

par contre je balance toute l'électronique dans un petit boitier imprimé,  arrondi à la forme du pare buée, avec le servo

un bout de chambre à air entre le boitier et le tube pour pas que ça glisse et une sangle velcro fin pour serrer tout ça sur le tube

Mais en nomade tout ça reste au bercail !

Lien vers le commentaire
Partager sur d’autres sites

Reparti sur la gamberge autour des leds et en attendant de savoir dimmer mon écran, j'ai commandé du PLA blanc.

Je pense que ça va faire un bon diffuseur :

J'ai des rondelles blanches que j'avais imprimées, je trouve que ça marche assez bien. 

Il faut juste trouver la bonne géométrie.

Tant que j'y suis, j'ai aussi commandé une volée de leds 1.5mm...

Au moins avec ça je pourrais pomper sur le 5v et dimmer comme je veux "à l'ancienne" avec un petit transistor.

Va falloir patienter... Grrrr

De quoi progresser sur Freecad en attendant 🙂

Lien vers le commentaire
Partager sur d’autres sites

Bon, je gamberge aussi pas mal!!

une idée peut être:

je suis parti en me disant que dans tous les cas je suis limité à 40mA pour 1 sortie arduino.

du coup, je passe sur une alim externe, en l’occurrence 12V que j'ai a dispo sur la lunette. Du coup, avec ce système plus de limitations de courants et pas de risque pour l'arduino.

de plus je suis illimité en quantité de LED ou longueur de ruban en fonction du choix.

Pour chaque LED montée en // j'utilise une résistance de 1k ohm et sur la base du MOSFET NPN une résistance de 10K ohm

@gehelem je pense que tu pourrais brancher directe ton panneau EL de cette façon non?

et toujours mon petit relais qui fonctionne bien en réel, je n'ai plus le départ à 90°, il reste bien à 0°!!

 

 

Sans titre.png

 

J'en profite pour émettre une idée de réalisation du FLIP FLAT, mais n'ayant pas d'imprimante 3D je passerai par un ami...

voilà le plan:

une petite baffle qui a 2 rôles: empêcher le cap d'aller trop loin sur la lunette mais aussi d’empêcher l’émission de lumière directe vers la lunette.

les LED sont assez directrice pour ne pas avoir une baffle trop haute. 

un cache arrière pour y loger l’électronique.

ca fait un cache de 50mm de profondeur à peu prés peut être un poil plus mais faut limité avec le poids.

Si vraiment trop lourd on peut réduire à fond et placer l’électronique ailleurs... d'ailleurs en le disant c'est pas si con...

 

IMG_7093.JPG

IMG_7094.JPG

 

Si vous êtes pas préssé lien pour des panneaux 10cm x 10cm blanc SANS ONDULEUR fonctionnant à 3, 5 et 12V!! et pas cher!!

https://fr.aliexpress.com/item/10X10-CM-El-panneau-lectroluminescent-r-tro-clairage-panneau-panneau-LED-affichage-sans-onduleur/32907118870.html?albbt=Google_7_shopping&isdl=y&slnk=&albslr=118067742&src=google&acnt=494-037-6276&aff_platform=google&crea=fr32907118870&netw=u&plac=&albcp=1706977641&mtctp=&aff_short_key=UneMJZVf&gclid=Cj0KCQjwkoDmBRCcARIsAG3xzl_qT15jgQ44eqjSiQegpebysQ4IOY7zRV64T5qGS8J8ocuWxsx_9KYaAumAEALw_wcB&albag=66909914152&albch=shopping&albagn=888888&trgt=296904914040&device=c&gclsrc=aw.ds

Modifié par olivier1986
Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, olivier1986 a dit :

C est ce que j ai, pas très puissant en terme de luminosité. Inadapté pour du narrowband 

 

 

J ai regardé mon histoire de conso. 40mA pour une longueur de 33cm, ce dont j ai besoin. 

 

Lien vers le commentaire
Partager sur d’autres sites

@supaii

On prend note que c'est pas bon alors!! après rien n'empêche de faire des pause longues pour faire des flats mais faut alors faire des darks de flats.... ^^

en tout cas moi j'esaierai dans un 1er temps de voir si le reste de mon ruban de cuisine fera l'affaire!

 

Par contre fais attention quand même car 40mA c'est le max que peut supporter le pin, donc il y aura surement une usure prématurée du pin, bon après on l'alimente pas des heures!!

 

C'est pour cela que je passerai par un 12V externe pilotée via un NPN!

 

Tout est fourni dans un kit acheté sur  ebay pou r25€!!! servo, NPN, arduino, relai....

 

@gehelemGilles t'en es où de ton coté?

Lien vers le commentaire
Partager sur d’autres sites

@olivier1986 je suis repassé en mode cérébral : comment faire un écran tout fin avec des leds qui soit bien homogène? 

Il faut que je trouve avant que le PLA blanc arrive.

 

Une chose est certaine, ce machin ira aux RAP fin mai.

 

Le 24/04/2019 à 14:14, olivier1986 a dit :

Si vous êtes pas préssé lien pour des panneaux 10cm x 10cm blanc SANS ONDULEUR fonctionnant à 3, 5 et 12V!! et pas cher!!

Juste un truc : c'est aussi le mien, il est certes vendu sans "onduleur" mais il en faut bien un...

Lien vers le commentaire
Partager sur d’autres sites

il y a 1 minute, JMDSomme a dit :

Ce serait cool de partager la  "recette " électronique de base (contrôle du servo, composants, câblage) pendant que vous cogitez la partie écran ? 

Je vois ça ce soir.

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.