1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Variateur Lust

Discussion dans 'Electricité, variateurs, convertisseurs et moteurs' créé par douardda, 4 Avril 2013.

  1. douardda

    douardda Ouvrier

    Messages:
    323
    Inscrit:
    19 Septembre 2010
    Localité:
    Paris (75) / Saint-Pierre-sur-Erve (53)
    Variateur Lust
    Bonsoir,

    est-ce que quelqu'un connaît les variateurs Lust SmartDrive de la série LS1000 ?

    J'hésite à acheter un LS1204 sur ebay pour piloter un moteur 750w pour mon petit tour 6125. Pour cet usage, j'ai pas besoin d'un machin aussi sophistiqué qu'un altivar, donc je me dit que ce petit Lust fait parfaitement l'affaire sur le papier.

    Le problème est qu'il n'y a pas de terminal de programmation (il faut passer par un module clavier KP100). Mais le modèle dispo ci-dessus est un modèle I8, donc avec une interface Modbus. Sauf que la doc que j'ai trouvé pour cet appareil ne liste pas les adresses des registres Modbus... Et j'ai pas forcément envie de devoir passer des plombes à essayer de rétro-ingénier (?) le machin.

    Est-ce que quelqu'un à déjà joué avec ce type d'appareil ?

    David
     
  2. guy34

    guy34 Compagnon

    Messages:
    1 722
    Inscrit:
    4 Mars 2010
    Localité:
    nord montpellier
    Variateur Lust
    bonjour,

    ça sent pas bon,tout ça ! à ta place,pas de clavier,pas d'appareil !
    A bientôt
    GUY34
     
  3. Jplo

    Jplo Ouvrier

    Messages:
    369
    Inscrit:
    29 Novembre 2009
    Localité:
    Belgique
    Variateur Lust
    Bonjour

    Acheter du matériel incomplet comporte toujours un risque
    Sur mon 6125 j’ai raccordé un Altivar 31
    Sur Ebay il y a encore moyen de trouver du matériel a prix raisonnable
    Ex le dernier que j’ai acheté : NEUF mais sans documentation

    ATV71-02J.jpg

    Cordialement

    Jean-Paul
     
  4. douardda

    douardda Ouvrier

    Messages:
    323
    Inscrit:
    19 Septembre 2010
    Localité:
    Paris (75) / Saint-Pierre-sur-Erve (53)
    Variateur Lust
    Oui j'ai aussi un ATV31 4kw, mais je veux pas l'immobiliser sur le 6125, donc je cherche un petit var 1hp pas cher pour ça.

    Pour le Lust, c'est un poil risqué en effet. Je vais donc plutôt attendre une occasion moins risquée je pense.

    Cela dit, j'avais envoyé un message à Lust pour leur demander la doc du protocole LustBus utilisé pour communiquer avec ce var (via modbus ici), et ils m'ont répondu avec un lien sur la doc (que je n'avais pas trouvé sur leur site). Je vais lire un peu celle-ci pour voir s'il est envisageable de se passer du clavier au profit d'une configuration exclusivement par modbus.


    David
     
  5. douardda

    douardda Ouvrier

    Messages:
    323
    Inscrit:
    19 Septembre 2010
    Localité:
    Paris (75) / Saint-Pierre-sur-Erve (53)
    Variateur Lust
    Bon j'ai parcouru la doc de LustBus (menu Downloads > Accessories > Field bus systems > Data Transmission Protocol LustBus )

    C'est dumodbus (RS485) du ISO 1745 sur RS485 (avec une config série 7E1 9600). Il est probable qu'il soit possible de complètement paramétrer le variateur par ce biais, je n'ai pas l'impression qu'il y ait de gros risque d'avoir le variateur "briqué", sauf ce point:

    SMARTDRIVE Inverters with the RS-485 interface must additionally have
    the parameter 61-SOUTA = 7 set. This activates the data direction switch
    of the internal interface software driver."

    Si ce paramètre n'est pas configuré à cette valeur, la communication pas RS485 n'est pas activée. On peut imaginer que c'est le cas sur ces modèles (sinon pourquoi avoir acheté les modèles VF1204S I8, i.e. avec l'option RS485), mais c'est pas certain. Si ce n'est pas le cas, alors effectivement, le var sans clavier est impossible à reprogrammer, ce qui est rédhibitoire.

    Bref, je vais demander au vendeur s'il a une idée de ces questions, ou s'il a un clavier pour s'assurer de la bonne valeur de ce paramètre avant l'envoi. M'étonnerait, mais on n'est jamais à l'abris d'une bonne surprise...

    David
     
  6. guy34

    guy34 Compagnon

    Messages:
    1 722
    Inscrit:
    4 Mars 2010
    Localité:
    nord montpellier
    Variateur Lust
    bonjour,

    bonne chance pour t'en sortir,mais surtout respect pour cet acharnement à fouiller le problème pour obtenir l'ensemble des renseignements avant de trancher..
    il y en a tellement qui se font avoir ....parce qu'ils n'ont pas examinés les pourquoi et comment !
    A bientôt
    GUY34
     
  7. douardda

    douardda Ouvrier

    Messages:
    323
    Inscrit:
    19 Septembre 2010
    Localité:
    Paris (75) / Saint-Pierre-sur-Erve (53)
    Variateur Lust
    Bonjour à tous,

    alors commeje suis têtu (parfois), j'ai demandé au vendeur des précisions sur ses variateurs. Comme il ne savait pas me dire s'il étaient configurés pour que la communication RS485 soit fonctionnelle, on a convenu que je l'achetais pour moins cher, mais que je tenais au courant de mes expériences avec.

    Bref j'ai donc acheté pas trop cher le var, et hier soir, j'ai commencé à jouer avec.

    Alors la première bonne nouvelle c'était la présence de 2 câbles coupé sur les bornes dédiées au RS485.

    Bon, ensuite il m'a fallu lutter un peu quand même. Faut dire que les rigolos qui font des normes et qui les implémentent sont pas foutus de se mettre d'accord sur le sens de A et de B... Bref, finalement, après avoir testé pas mal de combinaisons de paramètres de communication, j'ai fini par inverser les câbles A/B et avec les paramètres corrects (9600/7E1), j'ai fini par pouvoir parler à ce petit var.

    Bon, ça n'a rien à voir avec un altivar, c'est sûr. Mais j'ai pu faire un peu tourner mon moteur. Par contre, le moteur que j'utilise dans mon petit appartement parisien pour jouer avec mes vars est un LS 2HP (celui de la rectiieuse Saut du Tarn qui attend tranquillement des jours meilleurs au fond d'un garage parisien), et le var est un 1HP. Autant le var ABB (j'ai aussi un petit ABB 1HP; simple mais fonctionnel) 1HP ne bronche pas, par contre celui-ci fini assez vite par se mettre en erreur quand je fais tourner le moteur (courant moteur excessif). Faut dire aussi qu'il faudrait lui monter un radiateur au dos, ce que je n'ai pas fait encore, donc les transistor de puissance chauffent rapidement, même en faible charge.

    Pour la communication RS485, j'utilise un dongle USB pas cher (acheté sur ebay), et je parle au port série via des scripts Python (sous Linux). Tout ça marche sans problème. Mais pour le Lust, la communication c'est pas du modbus, mais du LustBus (en fait, du ISO 1745), protocole encore plus rudimentaire (et simple) que le modbus. Du coup, va falloir me cogner d'écrire un petit module Python pour faciliter l'intéraction avec les var. Par contre, les dos du var et du protocole LustBus sont accessibles sur le site du constructeur (faut un peu chercher pour LustBus).


    Donc au final, pour ces petits vars pas trop cher, il semble qu'on devrait pouvoir en faire quelque chose, mais ça demande un peu de travail (et comme je suis loin de mes machines, ça m'occupe le soir).

    David
     
  8. douardda

    douardda Ouvrier

    Messages:
    323
    Inscrit:
    19 Septembre 2010
    Localité:
    Paris (75) / Saint-Pierre-sur-Erve (53)
    Variateur Lust
    J'ai continué à jouer avec le Lust VF1204 hier soir, et le bilan est plutôt positif en fait.

    Il était vraiment mal configuré pour mon moteur, du coup ça marchait vraiment pas terrible. Après avoir affiné le paramétrage du moteur, ça commence à tourner rond comme il faut.

    Finalement, ce petit var semble pas si mal, mais faut le configurer comme il faut (et comme il sortait d'un environnement de prod quelconque, il n'avait pas les paramètres par défaut, mais était logiquement configuré spécifiquement pour le moteur qu'il pilotait).

    Et la bonne nouvelle c'est que tout est parfaitement accessible via le port RS485.

    Donc au final :

    - la var semble marcher correctement (mais pas encore testé "en prod"),
    - il est parfaitement configurable par RS485 (à l'aide d'un dongle USB-RS485 vu comme un port série sur le PC),
    - le vendeur sur ebay a été très correct et très réactif à mes questions,
    - il est finalement assez bien documenté (même s'il m'a fallu du temps pour comprendre ces docs).


    Par contre, pour le configurer, il faut faire les choses 'à la main' (j'ai écrit pour ma part des petites fonctions en Python pour lire et écrire les registres du var), et il faut prévoir un radiateur pour installer le var.

    David
     
  9. douardda

    douardda Ouvrier

    Messages:
    323
    Inscrit:
    19 Septembre 2010
    Localité:
    Paris (75) / Saint-Pierre-sur-Erve (53)
    Variateur Lust
    Juste pour être complet, au cas où quelqu'un aurait à utiliser ce type de var :

    j'ai perdu pas mal de temps hier soir pour réussir à programmer un registre du var car au début, je calculais mal l'octet de BCC (CRC à base de XOR) en fin de trame d'écriture (appelée trame SELECT), du coup il refusait de prendre en compte mes modifications, même après avoir corrigé ma fonction de calcul du BCC...

    J'ai fini par tomber sur le paragraphe qui explique que quand on envoyé une commande SELECT foireuse au var (ce qui est le cas si le BCC est faux), ce dernier refusera toute autre commande SELECT (écriture de paramètre) tant qu'on n'a pas été lire le paramètre 85 (SIOC/SERR) qui décrit la dernière erreur de transmission (ce qui a pour effet de remettre ce paramètre à 0, et de permettre à nouveau la reception de commandes SELECT).

    David
     
  10. douardda

    douardda Ouvrier

    Messages:
    323
    Inscrit:
    19 Septembre 2010
    Localité:
    Paris (75) / Saint-Pierre-sur-Erve (53)
    Variateur Lust
    Allez zouille je continue mon monologue en mettant le petit script Python que j'ai écrit pour commencer à parler à ce petit var:

    Code:
    #!/usr/bin/env python
    import serial
    
    def bcc(cmd):
        bcc = None
        for char in cmd:
            char = ord(char)
            if bcc is None and char == 0x02: # start computing BCC at STX (excluded)
                bcc = 0x00
                continue
            if bcc is not None:
                bcc = bcc ^ char
            if bcc is not None and char == 0x03: # stop BCC at ETX (included)
                break
        return bcc
    
    def get(cnx, code, address=0):
        msg = '\x04%c001%02d\x05' % (chr(64+address), code)
        cnx.write(msg)
        res = cnx.read(14)
        ok = bcc(res) == ord(res[-1])
        return res[8], ok
    
    def set(cnx, code, value, address=0):
        cmd = '\x04%c\x02001%02d=%04X\x03' % (chr(64+address), code,  value)
        cmd = '%s%s' % (cmd, chr(bcc(cmd)))
        cnx.write(cmd)
        res = cnx.read(2)
        return res[1] == '\x06'
    
    def mainloop(cnx, address):
        while True:
            try:
                code = raw_input('code: ')
            except EOFError:
                break
            if not code.strip(): # empty code/command => exit main loop
                break
            try:
                if '=' in code:
                    code, value = code.split('=', 1)
                    ok = set(cnx, int(code.strip()), int(value.strip(), 16), address)
                    print ok and "OK" or "FAILED"
                else:
                    value, ok = get(cnx, int(code), address)
                    print value, '\t', int(value, 16), '\t', int(value, 16)/20.0,
                    if not ok:
                        print " CRC mismatch"
                    else:
                        print
            except Exception, e:
                print "Error: ", e
    
    if __name__ == '__main__':
        import optparse
        p = optparse.OptionParser('A simple interactive tool to read/write a LustBus device (VF1000)')
        p.add_option('-a', '--address', dest='address', default=0, type='int',
                     help='address of the device (0 to 31). '
                     '0: use this address if the Lust is alone on the bus: it will respond. '
                     '1...30: addres of ONE device on the RS485 bus. '
                     '31: broadcast addres : all  devices will execute the command (for SELECT datagrams only)' 
                     )
        p.add_option('-d', '--dev', dest='device', default='/dev/ttyUSB0', metavar="FILE",
                     help='serial port')
        p.add_option('-r', '--baudrate', dest='baudrate', type='choice', default='9600',
                     choices=('1200','2400','4800','9600'),
                     help='baud rate (1200, 2400, 4800 or 9600)')
        p.add_option('-s', '--bytesize', dest='bytesize', type='choice', default='7',
                     choices=('6','7','8'),
                     help='byte size in bits (6, 7 or 8)')
        p.add_option('-p', '--parity', dest='parity', type='choice', default='E',
                     choices=('E','O','N'),
                     help='parity (E, O or N)')
        p.add_option('-S', '--stopbits', dest='stopbits', type='choice', default='1',
                     choices=('1', '1.5', '2'),
                     help='number of stop bits (1, 1.5 or 2)')
        opts, args = p.parse_args()
    
        if args:
            p.error('this tool does not take arguments')
        if opts.address < 0 or opts.address > 31:
            p.error('address must be in [0, 31]')
    
        try:
            cnx = serial.Serial(port=opts.device,
                                bytesize=eval(opts.bytesize),
                                stopbits=eval(opts.stopbits),
                                baudrate=eval(opts.baudrate),
                                parity=opts.parity,
                                timeout=2)
        except serial.serialutil.SerialException:
            p.error("Cannot connect to serial port; check yout device option")
        mainloop(cnx, opts.address)
    
    

    Et le résultat (fort impressionnant ma foi) ressemble à ça :

    Code:
    david@perseus:~/hg/public/pymodbus$ python lust.py --help
    Usage: A simple interactive tool to read/write a LustBus device (VF1000)
    
    Options:
      -h, --help            show this help message and exit
      -a ADDRESS, --address=ADDRESS
                            address of the device (0 to 31). 0: use this address
                            if the Lust is alone on the bus: it will respond.
                            1...30: addres of ONE device on the RS485 bus. 31:
                            broadcast addres : all  devices will execute the
                            command (for SELECT datagrams only)
      -d FILE, --dev=FILE   serial port
      -r BAUDRATE, --baudrate=BAUDRATE
                            baud rate (1200, 2400, 4800 or 9600)
      -s BYTESIZE, --bytesize=BYTESIZE
                            byte size in bits (6, 7 or 8)
      -p PARITY, --parity=PARITY
                            parity (E, O or N)
      -S STOPBITS, --stopbits=STOPBITS
                            number of stop bits (1, 1.5 or 2)
    
    david@perseus:~/hg/public/pymodbus$ python lust.py -d /dev/ttyUSB1 -a 1
    code: 85
    0000    0       0.0
    code: 20
    003C    60      3.0
    code: 21
    0000    0       0.0
    code: 23
    012C    300     15.0
    code: 23=012D
    OK
    code: 23
    012D    301     15.05
    code: david@perseus:~/hg/public/pymodbus$ 
    
    Et pour faire joli, une belle photo de mon installation de test :

    CAM00248.jpg
    CAM00249.jpg

    David
     
  11. douardda

    douardda Ouvrier

    Messages:
    323
    Inscrit:
    19 Septembre 2010
    Localité:
    Paris (75) / Saint-Pierre-sur-Erve (53)
    Variateur Lust
    Encore un petit mot pour dire que j'ai rapporté un moteur (made in USSR !) 1HP pour tester dans de meilleures conditions le variateur.

    D'ailleurs, pour le plaisir des yeux, en voici la photo :
    CAM00258.jpg
    CAM00259.jpg
    ↑  Petit moteur " made in USSR "


    Donc avec ce moteur, ça semble marcher au poil. J'ai vaguement testé la config de la protection (thermique) du moteur avec ce var et le régulation de courant, sans trop de succès pour le moment. Quand je désactive la régulation de courant, le moteur tourne gentiment comme il faut, mais chauffe pas mal à petite ou moyenne vitesse (si j'active la régulation de courant, le moteur broute).

    D'ailleurs, je m'interroge à ce propos. Ce petit moteur a un coeff de glissement non négligeable, donc il a tendance à chauffer pas mal à basse vitesse (si j'ai bien compris ce que j'ai lu sur les moteurs asynchrones ; ah la la ils sont loin les cours d'électrotech...). Du coup, je me demande s'il est raisonnable d'utiliser ce genre de moteur (un peu ancien) sur des variateurs en voulant justement pouvoir les faire marcher à vitesse réduite (ie se servir du var pour réellement moduler la vitesse de rotation, ici ce sera pour un petit tour RC-machines 6125) sans que le moteur ne dispose de capteur de température ?

    Bon, je vais essayer de potasser un peu plus le principe de la protection thermique d'un moteur par un var et la config de la régulation pour essayer d'en mieux comprendre le paramétrage en attendant.

    David
     
  12. didbaba

    didbaba Compagnon

    Messages:
    1 329
    Inscrit:
    29 Mai 2011
    Localité:
    Indre et Loire
    Variateur Lust
    Bonjour,

    je mets une petite étoile sur ce sujet, c'est pas si souvent que quelqu'un post du Python sur ce forum,
    et pour configurer un variateur en plus. Bon y a plus qu'à écrire l'article pour linux mag ou open silicium.
    En tout cas c'était très intéressant, c'est peut-être parce que je code aussi, soutient le libre et possède une gambin...
     
Chargement...

Partager cette page