Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

[Projet] RUB1K solver
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#131 Message par F6FCO » mar. 2 juil. 2024 18:08

Pas si fort que çà finalement. Et pas de looping.
J'ai voulu tester l'impression 3D mais bof ! rien de précis, trop de jeu dans le montage, c'est clair qu'on est très loin de la précision en usinage des métaux. Pas ce que j'espérais.
J'ai pourtant inséré des paliers laiton sur chaque axe.

P1060979.JPG
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... :eek:

[Projet] RUB1K solver
cyril13110
Avatar de l’utilisateur
Expert
Expert
Messages : 1679
Âge : 43
Enregistré en : avril 2016
Localisation : 13

#132 Message par cyril13110 » mar. 2 juil. 2024 19:19

Ha ouai ça en jete pas mal tous de même ta pince.
Et quesquil va pas ? Tu n'a pas l'air emballé
she ise heu lahive.......heu lahive......

[Projet] RUB1K solver
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#133 Message par F6FCO » mar. 2 juil. 2024 19:39

Emballé par la pince si, le système est bon. Mais pas par le choix de fabrication, l'impression 3D c'est bon pour des trucs approximatifs, pas pour du trafvail de précision. Une pince force alors que l'autre à du jeu.
J'ai riveté les axes donc elle est indémontable telle quelle, je vais essayer de faire au mieux avec celle-ci et j'apporterai des modifications au prochain modèle.
Je vais rajouter des bras // en-dessous pour rigidifier le mouvement.

pince1.JPG
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... :eek:

[Projet] RUB1K solver
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1937
Âge : 67
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#134 Message par Gérard » mar. 2 juil. 2024 20:07

JC, chapeau bas, tu te donnes un mal de dingue. Jamais je ne saurai faire ça.
T'es un artiste et je dis :bravo: :bravo: :bravo:
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

[Projet] RUB1K solver
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#135 Message par F6FCO » mar. 2 juil. 2024 20:11

Oh merci, je suis tout chose :oops: :-D

Je vais quand même faire un petit programme pour la faire bouger, histoire de ne pas avoir passé toutes ces heures à la construire pour rien. Et de voir si elle est capable de tenir le cube, çà dépendra beaucoup de la puissance du petit SG90, et aussi comment améliorer la V.2.
Une porte nand prend 2 bits en entrée... :eek:

[Projet] RUB1K solver
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1937
Âge : 67
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#136 Message par Gérard » mar. 2 juil. 2024 20:15

Faut pas rougir, je n'ai dit que la vérité. C'est vraiment super ce que tu arrives à faire, tu peux en être fier.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

[Projet] RUB1K solver
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#137 Message par F6FCO » mar. 2 juil. 2024 21:13

Rien d'extraordinaire quand même, tu ferais la même chose si tu avais une imp3D.

Je viens de faire une petite vidéo rapide (trop rapide, désolé pour le cadrage minable), la pince fait bien son job. J'avais peur que le petit SG90 ne soit pas assez puissant mais çà tient. La pince du bas sera verticale et n'aura qu'à faire tourner le cube donc çà va, les deux horizontales devraient le tenir toujours ensembles donc çà devrait aller aussi.

https://www.youtube.com/watch?v=Uv4-23yB0hg

Mais celle-ci ne servira pas à cause d'une petite erreur de conception, le cube touche un axe en tournant, il va falloir revoir quelques dimensions pour les prochaines. Ca sert à çà les prototypes :wink:

pince2.JPG


Le code test de la pince:

Code : Tout sélectionner

;**********************************************************************
;
                                                                    
;                  gestion proto pince jaune sous pic 18F cadencé à 8MHz
;                    servomoteur SG90
;                            F6FCO - juillet 2024                                                                   
;                                                                     
;**********************************************************************

        Errorlevel-302             ; Supprime le message "Ensure that bank bits are correct" 
        list            p
=18f4525    ; processeur utilisé 
        
#include        <p18f4525.inc>    ; Définitions des constantes PIC
    
 CONFIG OSC 
= INTIO67                   ; Oscillateur interne 8MHz 
 
;CONFIG OSC = XT                         ; Oscillateur xtal externe 
 CONFIG IESO 
= OFF                         ; Délai au démarrage (ON/OFF)
 CONFIG BOREN = OFF                        ; Reset si chute de tension (ON/OFF)
 CONFIG PWRT = ON                          ; Délai au démarrage (ON/OFF)
 CONFIG BORV = 0                           ; Tension de reset en 1/10ème Volts 
 CONFIG WDT 
= OFF                          ; Mise hors service du watchdog (ON/OFF)
 CONFIG PBADEN = OFF                       ; PORTB<4:0> les broches sont configurées comme E/S numériques lors de la réinitialisation
 CONFIG LPT1OSC 
= OFF                      ; Timer1 configuré pour un fonctionnement plus puissant
 CONFIG MCLRE 
= ON                         ; Mclr configuré comme entrée
 CONFIG STVREN 
= ON                        ; Reset sur débordement de pile (ON/OFF)
 CONFIG LVP = OFF                          ; Programmation basse tension autorisée (ON/OFF)
 CONFIG XINST = OFF                        ; L'extension du jeu d'instructions et le mode d'adressage indexé sont désactivés(mode hérité)
 CONFIG DEBUG = OFF                        ; Debugger hors service
 CONFIG CP0 = OFF                       ; Code protection sur block 0 (ON/OFF)
 CONFIG CP1 = OFF                       ; Code protection sur block 1 (ON/OFF)
 CONFIG CP2 = OFF                       ; Code protection sur block 2 (ON/OFF)
 CONFIG CPB = OFF                       ; Code protection sur bootblock  (ON/OFF)
 CONFIG CPD = OFF                          ; Code protection sur eeprom (ON/OFF)
 CONFIG WRT0 = OFF                         ; Protection écriture block 0 (ON/OFF)
 CONFIG WRT1 = OFF                         ; Protection écriture block 1 (ON/OFF)
 CONFIG WRT2 = OFF                         ; Protection écriture block 2 (ON/OFF)
 CONFIG WRTB = OFF                         ; Protection écriture bootblock (ON/OFF)
 CONFIG WRTC = OFF                         ; Protection écriture configurations (ON/OFF)
 CONFIG WRTD = OFF                         ; Protection écriture zone eeprom (ON/OFF)
 CONFIG EBTR0 = OFF                        ; Protection lecture de table block 0 (ON/OFF)
 CONFIG EBTR1 = OFF                        ; Protection lecture de table block 1 (ON/OFF)
 CONFIG EBTR2 = OFF                        ; Protection lecture de table block 2 (ON/OFF)
 CONFIG EBTRB = OFF                        ; Protection lecture de table bootblock (ON/OFF)



#define pous1    PORTBD,5
#define servo1    PORTB,4


    CBLOCK 0x00C               
    w_temp         :1        ; Sauvegarde du registre W
    status_temp     :1        ; Sauvegarde du registre STATUS
    Reg_1        :1
    Reg_2        :1
    Reg_3        :1
    conchita    :2        ; variable bonne à tout faire
    ENDC                                      

    org    0x000             ; Adresse de départ après reset
      bra        init            ; Adresse 0: initialiser

; ------------------------  Routines Interruptions                            
    ;sauvegarder registres    
    org     0x008            ; adresse d'
interruption
    movwf   w_temp          
; sauver registre W
    swapf    STATUS
,w        ; swap status avec résultat dans w
    movwf    status_temp        
; sauver status swappé

    
; Interrupt TIMER0
    btfsc    INTCON
,TMR0IE        ; bit5. interrupt timer0 autorisée ?
    btfss    INTCON,TMR0IF        ; bit2. si oui, tester si interrupt timer en cours
    bra     restorereg
    call    inttimer0        
; vers routine interrupt timer0
    bcf    INTCON
,TMR0IF        ; effacer flag interrupt timer0
    
    
;restaurer registres
restorereg
    swapf    status_temp
,w        ; swap ancien status, résultat dans w
    movwf   STATUS            
; restaurer status
    swapf   w_temp
,f        ; Inversion L et H de l'ancien W, sans modifier Z
    swapf   w_temp,w          ; Réinversion de L et H dans W, W restauré sans modifier status
    retfie              ; return from interrupt

    ;  Routine d'
interruption TIMER 0                            
inttimer0    return
    
    
; ------------------------ Init

init
    clrf    EEADR            
; diminue la consommation
    
; init oscillateur
    movlw    0xff
    movwf    OSCCON
    
; init Timer0
    movlw    h
'A8'            ; compteur 16bits sur pin TOCKI sans prescaler
    movwf    T0CON        
    
    
; init TMR0
    clrf    TMR0L
    clrf    TMR0
    
    clrf    PORTA            
    clrf    PORTB    
    clrf    PORTC
    clrf    PORTD
    clrf    PORTE        
            
        
; inti ports
        movlw     0Fh
          movwf     ADCON1                
; mode digital

    movlw    b
'00000100'
    movwf    TRISA
    
    movlw    b
'00100000'
    movwf    TRISB
    
    movlw    b
'00000010'
    movwf    TRISC
    
    movlw    b
'0000001'
    movwf    TRISD
    
    movlw    b
'00000001'
    movwf    TRISE
    

    movlw    b
'10100000'        ; masque interruption
    movwf    INTCON            
; charger interrupt control
    
    
; -----------------------------------
            




Code : Tout sélectionner



#include <Pince_Jaune_SG90_init.asm>
    
main
 
; ------------------------ Servo 9G
servo9G
part1    bsf    servo1
    call    tempo0.6ms
    bcf    servo1
    call    tempo19.4ms
    btfsc    PORTB
,5
    goto    part1
    
    call    tempo300ms
    
part2    bsf    servo1
    call    tempo2ms
    bcf    servo1
    call    tempo18ms
    btfsc    PORTB
,5
    goto    part2
    
    call    tempo300ms
    goto     part1
    
    

    
#include <Pince_Jaune_SG90_tempo.asm>
    
    END     
        



Code : Tout sélectionner

; ------------ micro servo 9G ----------------------- 
; 0°=0.6ms/19.4ms
; 180°=2ms/18ms

tempo0.6ms
; Délai 1 200 Cycles de la machine
; Durée du délai 0.6 millisecond
; Fréquence de l'oscillateur 8 MHZ

            movlw       .141
            movwf       Reg_1,1
            movlw       .2
            movwf       Reg_2
            decfsz      Reg_1,F,1
            bra         $-2
            decfsz      Reg_2
            bra         $-6
            nop
            nop
            return            
tempo19.4ms
; Délai 38 800 Cycles de la machine
; Durée du délai 19.4 millisecond
; Fréquence de l'
oscillateur 8 MHZ

            movlw       .98
            movwf       Reg_1
,1
            movlw       .51
            movwf       Reg_2
            decfsz      Reg_1
,F,1
            bra         
$-2
            decfsz      Reg_2
            bra         
$-6
            nop
            return
           
tempo2ms
; Délai 4 000 Cycles de la machine
; Durée du délai 2 millisecond
; Fréquence de l'oscillateur 8 MHZ

            movlw       .48
            movwf       Reg_1,1
            movlw       .6
            movwf       Reg_2
            decfsz      Reg_1,F,1
            bra         $-2
            decfsz      Reg_2
            bra         $-6
            nop
            return
tempo18ms           
; Délai 36 000 Cycles de la machine
; Durée du délai 18 millisecond
; Fréquence de l'
oscillateur 8 MHZ

            movlw       .191
            movwf       Reg_1
,1
            movlw       .47
            movwf       Reg_2
            decfsz      Reg_1
,F,1
            bra         
$-2
            decfsz      Reg_2
            bra         
$-6
            nop
            nop
            return


; --------------------------------------------------- 

tempo300ms
; Délai 600 000 Cycles de la machine
; Durée du délai 300 millisecond
; Fréquence de l'oscillateur 8 MHZ

            movlw       .51
            movwf       Reg_1,1
            movlw       .12
            movwf       Reg_2
            movlw       .4
            movwf       Reg_3
            decfsz      Reg_1,F,1
            bra         $-2
            decfsz      Reg_2
            bra         $-6
            decfsz      Reg_3
            bra         $-.10
            nop
            nop
            return


tempo1s
; Délai 2 000 000 Cycles de la machine
; Durée du délai 1000 millisecond
; Fréquence de l'
oscillateur 8 MHZ

            movlw       .93
            movwf       Reg_1
,1
            movlw       .38
            movwf       Reg_2
            movlw       .11
            movwf       Reg_3
            decfsz      Reg_1
,F,1
            bra         
$-2
            decfsz      Reg_2
            bra         
$-6
            decfsz      Reg_3
            bra         
$-.10
            nop
            nop
            return


Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... :eek:

[Projet] RUB1K solver
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1619
Âge : 40
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#138 Message par venom » mer. 3 juil. 2024 06:39

Bonjour a tous.

Bravo F6FC0 8-) c'est quand même du beau travail que tu exécute. De voir sa modélisation en réel c'est top. Le principal c'est que tu prototype et avance malgré tout :wink:

Courage pour la suite. Nous suivons le sujet de près :bravo:

Je vois que tu es meilleur en conception qu'en cadrage :roll:








@++
Mon site web
Mon discord : venom#4888

[Projet] RUB1K solver
gwion
Expert
Expert
Messages : 1122
Enregistré en : février 2022

#139 Message par gwion » mer. 3 juil. 2024 10:03

Ces engins interplanétaires ne seraient-ils pas intéressants ?

https://fr.aliexpress.com/item/1005006364835520.html

2024-07-03 10_00_52-Ascenseur de décélération planétaire de précision, mini poussoir, moteur DC5V, m.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

[Projet] RUB1K solver
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#140 Message par F6FCO » mer. 3 juil. 2024 10:03

venom a écrit :Je vois que tu es meilleur en conception qu'en cadrage :roll:

Parce que je ne suis pas équipé, j'attends que Spielberg me ramène tout le matos que je lui ai prêté .

Le principal c'est que tu prototype et avance malgré tout :wink:

C'est ce qu'il y a de passionnant :wink:, c'est rare que tout marche du premier coup. Voici la V.2 qui va être imprimée, j'ai avancé les mors, fortifié quelques pièces, prévu un logement pour l'aimant de POM et changer le système d'axes pour quelque chose de plus précis.

Pince V.2.JPG


Ces engins interplanétaires ne seraient-ils pas intéressants ?

Oui, çà pourrait être utilisé pour cette utilisation. Ca ouvre des horizons de bricoles :wink:

En fait c'est un mal pour un bien que le premier modèle ne soit pas au top, j'avais oublié d'y intégrer l'aimant pour la POM. Je travaille sur la V.2
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... :eek:


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Baidu [Spider] et 3 invités