Hjälp ESP01
Hjälp ESP01
Jag håller på att bygga en egen "nexa" variant men får inte rätt på det.
Jag har plockat ut innanmätet på en nexa adapter som man stoppar i vägguttaget.
Byggt egen elektronik med en ESP01S och stoppat in i lådan.
Problemet jag får är att mitt relä som är kopplat till GPIO2 drar med en gång och ESP01:an startar inte upp.
Jag har även en knapp på GPIO0.
Till GPIO2 har jag ett motstånd som ligger i serie in på basen på en npn transistor, reläet sedan mellan kollektorn och +.
Lyfter jag på motståndet till transistorn så startar ESP:n och knappen fungerar.
Provar jag ESP:n i min USB adapter/programmerare så fungerar allt som det ska.
Vad har jag missat?
Jag har plockat ut innanmätet på en nexa adapter som man stoppar i vägguttaget.
Byggt egen elektronik med en ESP01S och stoppat in i lådan.
Problemet jag får är att mitt relä som är kopplat till GPIO2 drar med en gång och ESP01:an startar inte upp.
Jag har även en knapp på GPIO0.
Till GPIO2 har jag ett motstånd som ligger i serie in på basen på en npn transistor, reläet sedan mellan kollektorn och +.
Lyfter jag på motståndet till transistorn så startar ESP:n och knappen fungerar.
Provar jag ESP:n i min USB adapter/programmerare så fungerar allt som det ska.
Vad har jag missat?
- Klas-Kenny
- Inlägg: 11959
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Hjälp ESP01
Du får nog försöka dela med dig av lite mer info för att kunna få någon meningsfull hjälp.
Kopplingsschema?
Bilder?
Kopplingsschema?
Bilder?
Re: Hjälp ESP01
Det du stöter på beror på hur ESP-01S hanterar sina boot-straps. Just GPIO2 är en av de pinnar som måste ligga stabilt hög vid uppstart för att modulen ska starta normalt. Om den belastas av en transistor, ett relä eller något som drar den nedåt även lite grann, så misslyckas boot-sekvensen. Det är precis det som händer hos dig: basströmmen via transistorn drar ner nivån på GPIO2 under reset, vilket gör att ESP8266 inte bootar. När du lyfter bort basmotståndet försvinner lasten och modulen startar som den ska.
Att allt fungerar i USB-programmeraren är normalt eftersom den ofta har starkare pull-ups och inte har någon extern last inkopplad.
När det gäller GPIO0 är den också en boot-strap, men med en annan funktion:
HIGH vid reset → normal boot
LOW vid reset → flash mode
En knapp till GND på GPIO0 är helt okej, så länge den inte hålls intryckt under uppstart. Efter att modulen har bootat är GPIO0 en helt vanlig GPIO och kan användas för exempelvis input eller för att styra en transistor. Det viktiga är att den inte belastas så att den dras ned vid reset.
Sammanfattningsvis:
GPIO2 bör inte användas för reläer eller transistorer på ESP-01S eftersom den måste vara obelastad och hög vid reset.
GPIO0 är okej att använda, under förutsättning att knappen är öppen vid uppstart och att ingen annan last drar pinnen låg under reset.
Om du behöver styra relä är GPIO1 (TX) oftast det mest praktiska alternativet på ESP-01S, med den reservationen att pinnen sänder UART-data precis vid boot.
Det du har missat är alltså att belastningen på GPIO2 stör uppstartssekvensen, och därför startar inte modulen så länge relätransistorn ligger inkopplad där.
Att allt fungerar i USB-programmeraren är normalt eftersom den ofta har starkare pull-ups och inte har någon extern last inkopplad.
När det gäller GPIO0 är den också en boot-strap, men med en annan funktion:
HIGH vid reset → normal boot
LOW vid reset → flash mode
En knapp till GND på GPIO0 är helt okej, så länge den inte hålls intryckt under uppstart. Efter att modulen har bootat är GPIO0 en helt vanlig GPIO och kan användas för exempelvis input eller för att styra en transistor. Det viktiga är att den inte belastas så att den dras ned vid reset.
Sammanfattningsvis:
GPIO2 bör inte användas för reläer eller transistorer på ESP-01S eftersom den måste vara obelastad och hög vid reset.
GPIO0 är okej att använda, under förutsättning att knappen är öppen vid uppstart och att ingen annan last drar pinnen låg under reset.
Om du behöver styra relä är GPIO1 (TX) oftast det mest praktiska alternativet på ESP-01S, med den reservationen att pinnen sänder UART-data precis vid boot.
Det du har missat är alltså att belastningen på GPIO2 stör uppstartssekvensen, och därför startar inte modulen så länge relätransistorn ligger inkopplad där.
Re: Hjälp ESP01
Borde inte GPIO3 (RX) vara det uppenbara valet för att styra reläet? Till skillnad från TX så är det förstås tyst där vid uppstart.
Re: Hjälp ESP01
CPMS:
Så om jag byter till en pnp transistor istället så borde det kanske lösa problemet?
Och givetvis bygger om resten för denna transistor.
Så om jag byter till en pnp transistor istället så borde det kanske lösa problemet?
Och givetvis bygger om resten för denna transistor.
Re: Hjälp ESP01
Nej, det uppenbara valet är att använda en ESP modul med ostrappade GPIO som man kan använda som man vill.
Inte att välja den modulen som har minst pinnar som redan har inbyggda funktioner, ESP-01 är nog till för ex något som behöver WiFi kapacitet och som då pratar med ESP'n via seriell buss.
Re: Hjälp ESP01
Jag menade förstås med nuvarande förutsättningar, dvs en esp01. Varför välja en gpio med utdata framför en utan?
Om man bara behöver en utgång ser jag inte heller problemet att välja esp01 som är snorbillig och liten
Om man bara behöver en utgång ser jag inte heller problemet att välja esp01 som är snorbillig och liten
Re: Hjälp ESP01
Min rekommendation är att byt ut modulen mot någon med fler pinnar så du får riktiga GPIO's som kan köras som input/output.
Exempelvis en https://www.electrokit.com/utvecklingskort-esp32-s3 om du vill ha ett litet kort.
Re: Hjälp ESP01
Tack för svaret.
Jag får tänka vidare.
Har en ny ide i mitt huvud och får prova i nästa vecka.
Får tillverka ett nytt kretskort.
Har trots allt en kretskort cnc maskin på jobb som jag har ansvaret för.
Jag får tänka vidare.
Har en ny ide i mitt huvud och får prova i nästa vecka.
Får tillverka ett nytt kretskort.
Har trots allt en kretskort cnc maskin på jobb som jag har ansvaret för.
Re: Hjälp ESP01
Hur man än vänder och vrider på det så visst kan man använda ESP-01 till detta men det finns lite att tänka på, läs här och skapa din egen uppfattning om den verkligen är den bästa/enklaste mm modulen för dig.
https://www.instructables.com/How-to-us ... 6-01-pins/
https://www.instructables.com/How-to-us ... 6-01-pins/
Re: Hjälp ESP01
För att allt blir en kompromiss om man ska använda en modul till något den nog egentligen inte är designad för.
Kan hända RX är bättre att använda men endera tappar du någon funktion eller får du anpassa koden och hårdvaran efter pinnens inbyggda funktion som du även behöver göra om man använder TX.
ESP32 jag föreslår kostar 100:- och har pinnar som inte är strappade så....
Läs och begrunda: https://www.instructables.com/How-to-us ... 6-01-pins/
Re: Hjälp ESP01
Och esp01 kostar 49:- på elektrokit (som inte tillhör de billigare butikerna). Dessutom är det den TS frågade om och redan har i sin ägo.
Använder man RX istället för TX, och tar höjd för att den har pullup vid boot så fungerar den för det TS vill göra. Någon kompromiss ser jag inte skulle behöva göras.
Använder man RX istället för TX, och tar höjd för att den har pullup vid boot så fungerar den för det TS vill göra. Någon kompromiss ser jag inte skulle behöva göras.
