Cette interface permet de contrôler à distance une station solaire photovoltaïque alimentant un relais hertzien. Elle permet différentes mesures et commandes (délestages, ventilation, etc ...) et dialogue avec un des routeurs du relais hertzien.
Cette page complète l'article paru sur le site du Net du Kermeur .
Circuit ATMEGA8535 et carte interface 4 relais, disponibles chez Futurlec.
Consommation sous 5V : 100mA environ + 30mA par relais activé; soit un maximum de 220mA.
8 points de mesure de tension, 4 sont réservés pour des usages internes : tension d'entrée, tension d'utilisation, 5V alimentant les circuits logiques, relevé de température.
La consommation peut être calculée par tension entrée - tension d'utilisation divisé par la valeur du shunt.
8 Input/Output dont 4 réservés pour la carte relais.
4 relais dont deux pour les délestages de consommation, un pour la commande de ventilation (en cas de température trop élevée) et un libre.L'horloge interne permet de gérer des durées pour les commandes ou les attentes; elle devrait permettre, sur une prochaine version du programme, les commandes à heure programmée. La précision n'est pas très élevée et il vaut mieux prévoir une mise à l'heure régulière (cf. infra commande DATE).
L'interface d'accès à la carte est le port série, configuré en 19200 bauds 8N1.
Les sources du programme pour l'Atmega8535 (GCC/AVR).
L'invite s'affiche ainsi : --> et indique que l'interface est prête à recevoir une nouvelle commande; si elle ne s'affiche pas au lancement du terminal, taper simplement [RETOUR_CHARIOT] pour forcer un affichage de la bannière.
Les commandes sont insensibles à la casse et peuvent donc être saisies aussi bien en majuscules qu'en minuscules.
Une commande correctement exécutée donne OK, sinon ERR.
HELP
Pour des raisons d'encombrement mémoire, l'aide n'est plus intégrée mais renvoie à cette page.
VERSION
Renvoie la version du programme de l'ATMEGA8535, actuellement AVR004 version 0.01.
DEBUG
Rend les sorties un peu plus verbeuses.
DATE [OFFSET]
Permet de lire l'heure.
L'interface doit préalablement avoir été mise à l'heure; sinon rend l'uptime.
La mise à l'heure se fait par la commande DATE nnnnn où nnnnn est la date actuelle exprimée en secondes depuis 01/01/1970.
UPTIME
Rend l'uptime du système.
TESTLED
Utilise le point 1 du port B pour faire clignoter la LED au rythme de la seconde, en cas de trafic sur le port série, la cadence s'accélère.
Le cavalier LED/PB0 doit être sur la position LED.
Permet de vérifier que le programme fonctionne bien et de visualiser le trafic du port comm, mais on perd une I/O.
Relancer une commande TESTLED pour arrêter le mode test.
PORTB 1..8 [ON-OFF [DUREE]]
Modifie l'état du port 1 à 8 du PORTB.
Attention : l'état OFF correspond à une sortie 0V qui est l'état actif, ON à 5V.
PORTBS
Liste l'état des ports 1 à 8 du PORTB.
MODEB [nn]
Affiche ou modifie le mode des ports 1 à 4; ils sont par défaut en mode input, mettre à 1 pour les forcer en mode output.
RELAIS 1..4 [ON-OFF [DUREE]]
Correspond aux commandes PORTB 5..8 ON-OFF [DUREE]]; ces ports sont utilisés en interne par la carte 4 relais.
Toutefois le sens ON correspond au relais actif contrairement à la commande PORT.
ADCA 1..8
Mesure de la tension d'un port analogique_digital.
ADCAS
Relevé des mesures de tension de tous les ports analogique/digital.
WATCH [ nnn Commande | OFF ]
Permet de lancer une commande RELAIS ... ou PORTB .. si aucune commande valide n'a été reçue pendant nnn secondes; exemple :
WATCH 600 RELAIS 1 ON 10WATCH OFF
Activera le relais 1 pendant 10 secondes si pendant 10 minutes aucune commande valide n'a été reçue.
Désactive le watchdog.Exemple de communication
----------------------------------------
LNDK_AVR006v0.01 11/2007
----------------------------------------
-> date
Date 2008-05-21 20h 27m 33s
OK
-> uptime
Uptime 118j 6h 53m 02s
OK
-> adcas
ADC 1 : 1
ADC 2 : 0
ADC 3 : 0
ADC 4 : 1
ADC 5 : 533
ADC 6 : 520
ADC 7 : 508
ADC 8 : 291
OK
-> dummy
ERR
Il vous faut bien évidemment soit une console série, soit un programme d'émulation de terminal pour pouvoir dialoguer avec l'interface RS232. Ci-dessous quelques uns, il en existe bien d'autres.
OS Programme Remarques Linux, *BSD minicom Automatisation avec option --script, exemple MacOsX ZTerm + adapteur série sur le Mac !!! Openwrt microcom (script possible) + package setserial (et interface MAX232 sur le WRT54GL) RouterOS /system serial-terminal serial0 (pas de script) A partir d'une console RouterOS(winbox, ssh, etc ...)
Automatisation possible : module Perl ExpectTelnet sur serveur RFC2217 (cf /port remote...) A partir d'une machine distante, script Perl Net::Telnet Windows Hyperterminal
Le port WAN est transformé en port série, cablage Cisco
Les ports ethernet 1, 2 :Quatre interfaces ADC de 1 à 4;Les ports ethernet 3, 4 :
Les entrées 5 à 8 sont utilisées par le boitier lui-même : tension de batterie, tension d'utilisation, mesure du 5V et température
Quatre ports I/O de 1 à 4
Les ports 5 a 8 sont cablés sur une carte 4 relais interne, permettant de commuter 5A sous 250V (ou 10A sous 24V)