Guten Tag,
mit einem ESP-12E habe ich ein kleines Problem. Nach dem Flashen der
Software MicroPython 19.1 (aktuell) sind STA_IF- und AP_IF-Mode aktiv.
Die Stromaufnahme beträgt ca. 80 mA bei 3,3 V. Ein angeschlossener
DS18B20 funktioniert einwandfrei. Die Adresse des DS18B20 und die
gemessene Temperatur werden ausgegeben.
1 | ## Testprogramm
|
2 |
|
3 | from machine import Pin
|
4 | import onewire
|
5 | import time, ds18x20
|
6 |
|
7 | ow = onewire.OneWire(Pin(5))
|
8 | ow.reset()
|
9 | ds = ds18x20.DS18X20(ow)
|
10 |
|
11 | for i in range(20):
|
12 | try:
|
13 | roms = ds.scan() ## Adresse des DS18x20
|
14 | print(roms)
|
15 | ds.convert_temp() ## Start der Wandlung
|
16 | time.sleep_ms(1000) ## waten auf das Ergebnis
|
17 | print(ds.read_temp(roms[0])) ## Temperatur holen
|
18 | except:
|
19 | print('---')
|
Um die Stromaufnahme zu reduzieren habe ich den AP_IF-Mode deaktiviert.
Die Stromaufnahme sinkt auf ca. 30 mA. Problem ist nun, dass der DS18B20
nicht mehr korrekt funktioniert. Die Adresse des DS18B20 wird nur noch
in der Hälfte der Fälle ausgegeben, die Temperatur überhaupt nicht mehr.
Ohne 'try:' und 'except:' wird immer mit einem CRC-Error abgebrochen.
Kennt jemand Problem nebst Abhilfe?