Ik ben afgelopen weken aan de slag gegaan met een oplossing die voor mij de voorkeur had:
Ik wilde goedkope onderdelen, een simpele opzet en mijn AXA dan ook maar direct van stroom voorzien.
Voor mij betekende dit: Geen MCP2003, Geen dure PCB ontwerpen/laten printen, maar zelf iets solderen.
De enige reden dat me dit eindelijk gelukt is, is "on the shoulders of giants":
@
galagaking eerste design, De source code van @
Baanaaan maar vooral de discussie van @
elleP en @
Stainless Steel waar bergen aan waardevolle informatie uit naar voren kwam!
Ik heb twee versies gemaakt, V1 werkte, maar had nog wat kinderziektes. Ik heb voor V2 maar direct alles aangepakt. Uiteindelijk is dit het V2 design:
Onderdelen V2:
- ESP32-C3
- BSS138 MOSFET (2x)
- RJ12 Female naar kabels
- XL6019 Buck converter (met een usb-c opzetstukje er aan gesoldeerd)
- Weerstandjes
Dit alles in een goedkoop bakje gegooid.
Ik had eerst 7.5V op de AXA gezet, maar nu terug naar 6V omdat ie dan wat minder herrie maakt bij openen/sluiten.
RX/TX gaat over één data lijn (dus niet beide data lijnen op de RJ12). Een van de twee hangt los, om echo te voorkomen.
Ik kan verder geen circuit diagrams tekenen dus ik heb het maar ff zo gedaan, mocht je dit zelf willen klussen is het hopelijk duidelijk genoeg. Enige wat hier mist is de buck converter naar 6V die op RJ12 pins 1+6 zit en waarvan GND op RJ12 2+5. De ESP-C3 heb ik direct aan de 5V kant van de Buck converter hangen.
Ik heb de source code van @
Baanaaan iets aangepast.
In ESPhome heb ik de uart setting voor TX moeten inverten:
code:
1
2
3
| tx_pin:
number: GPIO21
inverted: true |
---
Daarnaast de logica om te bepalen of het raam open of dicht is aangepast, hij gaf soms closed aan terwijl het raam open stond, iets met whole numbers en decimalen wat ik niet meer goed herinner.
Ook close aangepast, die logica is bij Baanaan stop > open > close, ik weet niet waarom, maar dat ie bij mij nu stop > close.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| cover:
- platform: template
name: "Raam"
assumed_state: true
lambda: |-
return id(axa_window_status).state > 0.5 ? COVER_OPEN : COVER_CLOSED;
open_action:
- logger.log: "Window open action triggered"
- uart.write: "\r"
- delay: 100ms
- uart.write: "STOP\r\n"
- delay: 100ms
- uart.write: "OPEN\r\n"
close_action:
- logger.log: "Window close action triggered"
- uart.write: "\r"
- delay: 100ms
- uart.write: "STOP\r\n"
- delay: 100ms
- uart.write: "CLOSE\r\n"
stop_action:
- logger.log: "Window stop action triggered"
- uart.write: "\r"
- delay: 100ms
- uart.write: "STOP\r\n" |
Ook bij on_boot maar ff aangepast dat ie niet automatisch dicht gaat als ik de ESP boot/reset. Volgens mij had Baanaan daar wel een goede reden voor, maar is voor mij nu gewoon een STOP command.
Home Assistant werkt en ik krijg clean replies terug.
---
Overige Bevindingen:
Ik ben een redelijke electronica noob, meeste logica is op basis van het originele design van @
elleP en een hoop AI back-and-forth om tot deze oplossing te komen. Of dit op de lange termijn mijn AXA gaat opblazen laat ik me graag door jullie vertellen, maar mocht je er vertrouwen in hebben dan kun je deze oplossing zo in elkaar knutselen. Je bent in totaal nog geen €10 kwijt met AliExpress onderdelen.
Hopelijk hebben jullie iets aan mijn opzet, als extra info nog een aantal bevindingen vanuit V1 en wat daar niet lekker werkte:
Probleem 1:
Voltage sag, de AXA kwam niet altijd lekker in beweging, de MT3608 of USB adapter kon de startup van het motortje niet aan, in V1 opgelost met 2 capacitors, maar bleef bij kou nog wat problemen opleveren. De MT3608 werkt dus wel, maar de XL6019 was €1 dus heb die er maar aan gehangen. Eventueel kan ik er nog grotere capacitors op zetten, maar anders is mijn USB lader niet afdoende.
Probleem2:
De tail ends waren niet super clean op de RX, ik kreeg de state van de AXA vaak wel terug, maar omdat ie niet altijd lekker terug kwam, kwam er om de paar minuten een reply die helemaal garbled was, waardoor in Home Assistant de states elke keer heen en weer sprongen. Het aansturen werkte verder prima, maar ik wilde dit wel fixen. Waar dit mogelijk aan gelegen heeft:
In V1 gebruikte ik een 2N7000 MOSFET, die was makkelijker solderen, maar is iets minder geschikt in deze voltage range dan de BSS138. Ik gebruikte er één, zoals uit de 'hack' die @
elleP gedeeld had (zie schema hieronder).
Ik had in V1 ook RJ12 kabels 3+4 bij elkaar gesoldeerd, misschien dat hierdoor echo ontstond, en had het alsnog goed gewerkt met de 'one-MOSFET' oplossing.
Ook had een RJ12 opengeknipt en de kabels direct gesoldeerd, dit is nu wat netter met een RJ12 female stuk in V2.
Voor V2 ben ik dus iets meer overkill gegaan door alles maar direct aan te pakken, het bugfixen begon me te lang te duren.
Hier het V1 ontwerp (plaatje van elleP):
/f/image/eGyJQnv7sqWoKijdhzsjCAu8.png?f=fotoalbum_large)
Nogmaals iedereen in dit forum bedankt voor het delen van jullie bevindingen, mijn raam is nu smart!