Hallo Leute,
Das Ziel meines Projektes ist mit überschüssiger Energie aus der
Solaranlage Wasser zu erwärmen. Dazu will ich einen Boiler mit dem Kemo
M028N regeln. Die Ansteuerung übernimmt Kemo M150 + Raspi. Es sollte
eigentlich möglich sein, dass ich ein PWM Signal mit dem PI erzeuge,
diese in den M150 einspeise und sich die Ausgangsspannung des M028N in
Abhängigkeit des Tastverhältnisses ändert.
Prinzipiell ist das auch so, aber nicht so wie ich es erwarten würde.
Nach angefügtem Datenblatt sollten zwischen 10% und 90% PWM
Einschaltdauer die Ausgangsspannung am M028N zwischen 0% und 100%
Netzspannung ansteigen.
Tatsächlich wird aber erst ab ca. 30% eine Ausgangsspannung messbar und
bei 90% liegen auch nur ca. 150V und nicht 230V an.
Hat jemand eine Idee woran das liegen kann?
Ich muss dazu sagen, dass ich bisher noch nie mit Python gearbeitet
habe. Deshalb poste ich hier mal meinen Code. Erzeugt der ein (PWM) TTL
Signal mit 1kHz (ob 1kHz oder 10kHz ändert nix am Verhalten) und einer
Einschaltdauer die hier erstmal nur zum testen zwischen 10% und 90%
langsam hochgezählt wird?
1 | #!/usr/bin/env python
|
2 | #coding: utf8
|
3 | import time
|
4 | import pigpio
|
5 |
|
6 | GPIO=pigpio.pi()
|
7 | #
|
8 | #pigpio uses Broadcom Pin numbering
|
9 | #
|
10 |
|
11 | PIN_PWM=18 # Physical Pin 12
|
12 | FREQ_PWM=1000
|
13 |
|
14 | # Set the GPIO-Mode to ALT5 for HW-PWM
|
15 | GPIO.set_mode(PIN_PWM, pigpio.ALT5)
|
16 | print("Start")
|
17 |
|
18 | #PIN, Frequency (max.125MHz), Duty Cycle (max 1Mio)
|
19 | GPIO.hardware_PWM(PIN_PWM,FREQ_PWM,10000)
|
20 |
|
21 | try:
|
22 | while True:
|
23 | for i in range (100000, 900000,10000):
|
24 | GPIO.hardware_PWM(PIN_PWM,FREQ_PWM,i)
|
25 | time.sleep(0.5)
|
26 | print(i)
|
27 |
|
28 | except KeyboardInterrupt:
|
29 | pass
|
30 |
|
31 | GPIO.write(PIN_PWM,0)
|
32 | GPIO.stop()
|
Vielen Dank für eure Hilfe
Micha