13
Cette page complète l’article ‘Contrôle de chargeur solaire‘ utilisant un Raspberry Pi au lieu d’une carte Arduino pour relever les mesures d’un contrôleur Epsolar de la série Tracer.

La connexion d’un Raspberry au contrôleur Epsolar ne pose pas de problèmes particuliers, voir http://elinux.org/RPi_Serial_Connection, paragraphe Connection to a microcontroller or other peripheral.
Broche 7 RJ45 <——-> P1-06
Broche 6 RJ45 <——-> P1-08
Broche 5 RJ45 <——-> P1-10
Contrairement à l’Arduino, le Raspberry dispose d’un système d’exploitation, et la récupération des valeurs peut très bien se faire par un simple script envoyant la commande d’interrogation suivi d’une lecture des valeurs.
Ci-dessous, un exemple fonctionnel de lecture en Python, après installation du package pySerial :
#!/usr/bin/python
import serial
port = serial.Serial("/dev/ttyAMA0", baudrate=9600, timeout=3.0)
port.write("\xeb\x90\xeb\x90\xeb\x90\x01\xa0\x00\x6f\x52\x7f")
port.read(6) # Synchro
port.read(3) # Header
rcv = port.read(24) # Datas
print "Datas: " + repr(rcv)
port.read(3) # Checksum and Stop
vbat = ((ord(rcv[1]) * 256) + ord(rcv[0])) * 10
vpan = ((ord(rcv[3]) * 256) + ord(rcv[2])) * 10
ichg = ((ord(rcv[22]) * 256) + ord(rcv[21])) * 10
tmpe = ord(rcv[20]) - 30
print "Tension batterie : " + str(vbat) + "mV"
print "Tension panneaux : " + str(vpan) + "mV"
print "Courant de charge : " + str(ichg) + "mA"
on obtient :
Datas: ';\x05\n\x06\x00\x00\x00\x00Q\x04\xa9\x05\x00\x00\x00B\x00\x00\x00\x011\x0f\x00\x00'
Tension batterie : 13390mV
Tension panneaux : 15460mV
Courant de charge : 150mA
Une version plus complète de ce script permettant la mise à jour d’une table MySQL et un relevé plus fiable (moyenne de n mesures et mise à l’écart des mesures aberrantes) est disponible ici.
Le script MySQL de création de la table et ci-dessous la visualisation Html :

La consommation est aussi différente, c’est plutôt de l’ordre de 2~3W et non plus de l’ordre des 100mW, ce qui n’est pas sans incidence sur le dimensionnement du solaire pour un fonctionnement 24/24.