Inhoudsopgave:

ESP32 Dual H Bridge Breakout Board - Ajarnpa
ESP32 Dual H Bridge Breakout Board - Ajarnpa

Video: ESP32 Dual H Bridge Breakout Board - Ajarnpa

Video: ESP32 Dual H Bridge Breakout Board - Ajarnpa
Video: Driving DC Motors with Microcontrollers 2024, Juli-
Anonim
ESP32 Dual H Bridge Breakout Board
ESP32 Dual H Bridge Breakout Board
ESP32 Dual H Bridge Breakout Board
ESP32 Dual H Bridge Breakout Board
ESP32 Dual H Bridge Breakout Board
ESP32 Dual H Bridge Breakout Board
ESP32 Dual H Bridge Breakout Board
ESP32 Dual H Bridge Breakout Board

Dit project is voor een ESP32 Breakout-bord dat is ontworpen als het brein van je volgende robot. De kenmerken van dit bord zijn;

  • Geschikt voor elke ESP32-ontwikkelkit met twee rijen van maximaal twintig pinnen op één inch-centra.
  • Een plek om een TB6612FNG dual H bridge DC motorcontroller dochterbord te monteren.
  • Een klemmenblok met twee schroeven voor elke motoraansluiting.
  • Een klemmenblok met twee schroeven en een set van vijf koppennen voor Vin & Gnd
  • Twee rijen van twintig GPIO breakout-pinnen.
  • Headers voor twee HC-SR04 Sonar-sensoren, met spanningsdelers op de Echo-uitgang.
  • Een header voor aansluiting op een driekleurige, gemeenschappelijke anode, LED met beperkende weerstanden.
  • Aan boord 5V, 1A spanningsregelaar met vijf header-pinnen voor 5V & Gnd.
  • Vier sets headers voor I2C-verbindingen met 3.3V & Gnd voor elke verbinding.
  • Alle componenten worden aan één kant van de printplaat gemonteerd.

De fysieke grootte van het bord is 90 mm x 56 mm, dubbelzijdig. Dit plaatst het ruim binnen de limieten van 100 mm x 100 mm voor de meeste goedkope prototypes van bordmakers.

Alle bestanden die nodig zijn om een van deze boards te maken, zijn hier te vinden op github.

Het bord is ontworpen rond de DOIT ESP32 DEVKIT V1 die twee rijen van elk achttien pinnen heeft. Door eenvoudig sporen op de achterkant van het bord te knippen, kunt u de speciale 5V-, Gnd- en 3,3V-pinnen van hun respectievelijke bussen scheiden. Vervolgens kunt u de pinnen op deze locaties als GPIO gebruiken en met behulp van jumpers de 5V-, Gnd- en 3.3V-bussen aansluiten op de juiste pinnen op de ESP32-ontwikkelkit die u gebruikt.

Er zijn twee rijen van twintig gaten voorzien voor het monteren van de ESP-ontwikkelkit. Ik raad aan om vrouwelijke contactdoosstrips te kopen en deze in de gaten te solderen. Op deze manier kunt u de ESP32-ontwikkelkit op elk moment verwijderen en vervangen door een andere. Ook biedt het gebruik van de contactdoosstrips voldoende ruimte voor de onderdelen die onder de ontwikkelkit zijn gemonteerd. Ik koop graag veertigpolige headers en stekkerdozen en knip ze dan op maat. Dit helpt om de kosten te verlagen. U kunt de vrouwelijke contactdoosstrips niet tussen twee stopcontacten doorknippen, u moet een stopcontact 'verbranden' om ze af te knippen. Met andere woorden, een veertigpolige vrouwelijke contactdoosstrip kan niet in twee twintigpolige strips worden gesneden. Een veertigpolige vrouwelijke stekkerdoos kan in een twintigpolige strip en een negentienpolige strip worden gesneden.

Stap 1: TB6612FNG Dual H-brug

TB6612FNG Dubbele H-brug
TB6612FNG Dubbele H-brug

De TB6612FNG is een dubbele H-brug, motorcontroller die één stappenmotor of twee DC-hobbymotoren kan aandrijven (geen borstelloze motoren). Het is ideaal voor het aandrijven van de kleine, goedkope motorreductoren die direct beschikbaar zijn. Het breakout-bord heeft een plaats om een dochterbord met de TB6612FNG te monteren. Het TB6612FNG-bord dat ik heb gekozen om te gebruiken, is op verschillende plaatsen verkrijgbaar; Sparkfun (p/n ROB-14451, Mouser en Digikey verkopen ook het Sparkfun-bord), Pololu (p/n 713), eBay, Aliexpress en Gearbest. Prijzen variëren van ongeveer een dollar tot vijf dollar.

Elke DC-motordriver gebruikt drie GPIO-pinnen. Twee GPIO-pinnen bepalen de motorstatus; vooruit, achteruit, uitrollen en remmen. De derde GPIO-pin is PWM om de motorsnelheid te regelen. Een zevende GPIO-pin stuurt de STBY-pin aan. De stuursignalen voor de TB6612FNG zijn vast aangesloten op ESP32 GPIO breakout-pinnen. Welke GPIO-pinnen worden gebruikt, wordt bepaald door de smaak van ESP32 Dev Kit die u gebruikt. De bedrade pinnen zijn zorgvuldig geselecteerd, zodat ze moeten worden uitgelijnd met GPIO PWM- en uitgangspinnen op de meeste ESP32 Dev Kits.

De motoren worden aangesloten met behulp van twee schroefklemmenblokken met twee pennen, gelabeld Motor A en Motor B. Eén aan elke kant van de breakout-kaart. De stroom voor de motoren wordt geleverd door een twee-pins schroefklemmenblok of een set mannelijke headers aan het ene uiteinde van het breakout-bord, gelabeld Vin. Vin kan elke gelijkspanning zijn van 6V tot 12V. Een 5V, 1A spanningsregelaar zet de Vin-spanning om in 5V om de Sonar-sensoren van stroom te voorzien.

De DOIT Dev KIT is verkrijgbaar in twee maten, 30 pinnen (15 aan een kant) en 36 pinnen (18 aan een kant). Ik heb de aansluitingen voor beide dev-kits hieronder vermeld.

30-pins ontwikkelkit - 36-pins ontwikkelkit

AIN1 - 25 - 14 - richtingsregeling voor motor A

AIN2 - 26 - 12 - richtingsregeling voor motor A

PWMA - 27 - 13 - snelheidsregeling voor motor A

STBY - 33 - 27 - stopt beide motoren

BIN1 - 16 - 15 - richtingsregeling voor motor B

BIN2 - 17 - 2 - richtingsregeling voor motor B

PWMB - 5 - 4 - snelheidsregeling voor motor B

Stap 2: GPIO-pinnen

GPIO-pinnen
GPIO-pinnen

Het bord heeft twee sets van twintig pins headers voor GPIO-doorbraak. Elke set GPIO-headers bevat twintig pinnen voor 3.3V en twintig pinnen voor Gnd. De 3.3V-pinnen bevinden zich tussen de GPIO-pinnen en de Gnd-pinnen. Deze configuratie verkleint de kans dat er iets ontploft als het achterstevoren wordt aangesloten. Bijna alles dat u op een GPIO-pin wilt aansluiten, vereist een 3.3V- of Gnd-verbinding of beide. Door de triple row configuratie heb je altijd een power en Gnd pin voor elke aansluiting.

Als je een andere ESP32-dev-kit gebruikt dan de DOIT Dev Kit, kan deze Vin-, 3.3V- en Gnd-pinnen hebben op andere locaties dan de DOIT Dev Kit. Het breakout-bord heeft gemakkelijk sporen aan de achterkant die kunnen worden gesneden om de Vin-, 3.3V- en Gnd-pinnen van de respectieve bussen te isoleren. U kunt dan jumperdraden gebruiken om de Vin-, 3.3V- en Gnd-pinnen van uw ESP32 Dev Kit op de juiste bussen aan te sluiten. De 3.3V-pinnen kunnen worden aangesloten met behulp van standaard tweepolige kortsluitstekkers. Voor Gnd-pinverbindingen heb ik een paar jumpers gemaakt met behulp van drie-pins DuPont-shells, twee vrouwelijke krimppinnen en een kort stuk draad. Na het krimpen van de vrouwelijke pinnen aan elk uiteinde van de draad, heb ik ze in de eindsleuven van de drie-pins schaal gestoken.

Als je ooit de trances die je hebt gesneden opnieuw wilt verbinden, heeft elke trance een aantal doorlopende gaten. U kunt ofwel een U-vormige jumperdraad in de gaten solderen of een tweepolige header toevoegen en een standaard tweepolige kortsluitstekker gebruiken om een verwijderbare jumper te maken.

Een woord van waarschuwing. De 3,3V-regelaar op de ESP32-ontwikkelkit wordt gebruikt om 3,3V te leveren voor de ESP32 en alle randapparatuur die u op de 3,3V-bus aansluit. De regelaar heeft een limiet van 1A. Hoe hoger de Vin-spanning en hoe meer stroom u trekt, de regelaar zal opwarmen. Houd hier rekening mee bij het aansturen van apparaten met een hoge stroomsterkte, zoals LED-strips of servomotoren met 3,3 V. Een paar I2C-apparaten zoals gyroscopen, accelerators en ADC-converters zouden geen probleem moeten zijn.

Stap 3: Vin

Vin is de ingangsspanning voor de motoren en de 5V-regelaar. Vin kan elke spanning zijn van 5V tot 12V. Als u 5V gebruikt voor Vin, zal de uitgangsspanning van de ingebouwde 5V-regelaar geen 5V zijn. Dit komt doordat de 5V regelaar een spanning hoger dan 5V moet hebben om te regelen naar 5V.

De Vin wordt ook gebruikt als ingangsspanning naar de 3.3V-regelaar op de ESP32-ontwikkelkit.

Het referentieontwerp van de ESP-dev-kit heeft een diode om de USB-spanning te isoleren van de spanning op de Vin-pin van de dev-kit. De diode zorgt ervoor dat de Vin-spanning niet probeert de USB-spanning aan te sturen en dat de USB-naar-serieel bridge-chip op de ESP32-ontwikkelkit alleen wordt gevoed door de USB-spanning. Dit betekent dat je veilig een spanningsbron hoger dan 5V kunt aansluiten op de Vin van het breakout board en tegelijkertijd de USB-aansluiting kunt gebruiken, zonder bang te hoeven zijn om iets te vernietigen. De spanningsregelaar op de ESP32-ontwikkelkit bevindt zich in dezelfde familie als de spanningsregelaar die op het breakout-bord wordt gebruikt. Dit betekent dat ze hetzelfde bereik van ingangsspanningen aankunnen.

Sluit het batterijpakket dat de motoren aandrijft aan op de Vin-terminals en het zal ook de ESP32 en eventuele randapparatuur die u hebt aangesloten van stroom voorzien.

Stap 4: HC-SR04 sonarsensoren

HC-SR04 sonarsensoren
HC-SR04 sonarsensoren
HC-SR04 sonarsensoren
HC-SR04 sonarsensoren

Er zijn twee 4-pins headers voor aansluiting van de populaire HC-SR04 Sonar-sensor. De headers bevinden zich aan weerszijden van de breakout-kaart, in de buurt van de motorschroefklemmenblokken. De headers zijn ingesteld voor een-op-een verbinding met de HC-SR04.

De HC-SR04 is een 5V-apparaat. Het wordt gevoed door 5V en het uitgangssignaal (Echo) is op 5V-niveaus. De ESP32 heeft 3,3V GPIO en is niet 5V-tolerant. Daarom heb je een soort spanningsniveau-omzetter nodig om de 5V-uitgang van de HC-SR04 naar het 3,3V-niveau van de ESP32 te brengen. Het breakout-bord heeft een eenvoudige spanningsdeler voor elk van de HC-SR04-echosignalen om de niveauconversie uit te voeren. Er is geen niveauconversie vereist voor een ESP32 GPIO-pin om het Trig-signaal van de HC-SR04 aan te sturen.

De vierpolige header voor de HC-SR04 biedt de 5V- en Gnd-aansluitingen voor de sensor. De 5V wordt geleverd door de 5V-regelaar op het breakout-bord.

Terwijl er een vier-pins header is om verbinding te maken met de HC-SRO4, is er een twee-pins header om de Echo- en Trig-signalen van de HC-SR04 aan te sluiten op de ESP32. Op deze manier kun je kiezen welke GPIO-pinnen je wilt gebruiken. Gebruik vrouwelijke naar vrouwelijke jumperdraden om de verbindingen te maken. T is de Trig-ingang en E is het door het spanningsniveau geconverteerde Echo-uitgangssignaal.

Het zou mogelijk moeten zijn om de HC-SR04-header te gebruiken om een andere 5V-sensor aan te sluiten. Sluit de uitgang van de 5V-sensor aan op de Echo-ingang en gebruik de spanningsdeler om deze om te zetten naar een 3,3V-signaal. De spanningsdeler verwerkt signalen met langzame overgangen. Voor snelle overgangen moet u een actieve spanningsniveau-omzetter gebruiken. Als u een analoog signaal aansluit op de spanningsdeler en vervolgens op een analoge ingang op de ESP32, moet u er rekening mee houden dat de spanningsschommeling nul tot 3,3 V zal zijn, niet nul tot 5 V bij het berekenen van de volt-per-count.

U kunt bijvoorbeeld een Vishay TSOP34838 IR-sensor aansluiten op de 5V-, Gnd- en Echo-pinnen van de HC-SR04-header (Echo is aangesloten op de uitgangspin van de sensor). Dan zou u IR-opdrachten moeten kunnen ontvangen van elke IR-afstandsbediening die een 38KHz-draaggolf gebruikt.

Stap 5: Driekleurige LED

Driekleurige LED
Driekleurige LED

De driekleurige LED is een 5 mm, gemeenschappelijke anode, RGB LED met doorlopende gaten. Er zijn stroombeperkende weerstanden aanwezig en de gemeenschappelijke anode is aangesloten op de 3,3V-bus. Er is een driepolige header met het label RGB voor het gebruik van de LED. Een laag signaal op een van de RGB-pinnen zal de LED met die kleur oplichten. Als u meerdere RGB-ingangen tegelijkertijd aanstuurt, zullen meerdere LED's oplichten met de resulterende kleurenmix. U kunt vrouwelijke naar vrouwelijke jumpers gebruiken om de RGB-headerpinnen aan te sluiten op de GPIO-pinnen van uw keuze. Als u de LED aansluit op een GPIO-pin die PWM-mogelijkheden heeft, kunt u de helderheid van de LED variëren door de lage PWM-tijd te variëren. Ik gebruik de LED's graag om me te helpen bij het debuggen van de code waaraan ik werk.

Stap 6: I2C-doorbraak

Het breakout-bord heeft vier rijen header-pinnen voor de I2C-interface. Twee van de rijen hebben elk vier pinnen en zijn 3.3V en Gnd. De andere twee rijen hebben elk vijf pinnen en zijn voor SDA en SCL. De extra pin in elk van deze rijen is zo dat je twee vrouwelijke naar vrouwelijke jumperkabels kunt gebruiken om de rijen aan te sluiten op de GPIO-pinnen van je keuze. De ESP32 kan de SDA- en SCL-signalen op verschillende GPIO-pinnen hebben. Er kunnen maximaal vier I2C-apparaten van 3,3 V worden aangesloten en gevoed zonder gebruik te maken van doorluskabels. Er zijn geen pullup-weerstanden op SDA- en SCL-signalen op het breakout-bord. De pullup-weerstanden moeten zich op de apparaten bevinden die u op de I2C-bus aansluit.

Opmerking: voor degenen die niet bekend zijn met I2C, zijn pullup-weerstanden vereist omdat de SDA- en SCL-pinnen open drain, tri-state, bidirectionele pinnen zijn. De waarde van de pullup-weerstanden heeft invloed op de slew rate en het rinkelen op de bus.

Stap 7: Stuklijst

Alle weerstanden zijn SMT 1206.

Alle condensatoren zijn SMT, case A, EIA 3216.

Alle headers en contactdoosstrips hebben een pitch van 0,1 inch (2,54 mm).

6 - twintig pins mannelijke headers

6 - vijfpolige mannelijke headers

4 - vierpolige mannelijke headers

1 - driepolige mannelijke kop

2-pins mannelijke headers

2 - twintig-polige vrouwelijke contactdoosstrips

1 - TB6612FNG-kaart, wordt geleverd met twee, acht-pins mannelijke headers

3 - 10uf Tantaal condensatoren

1 - 10K weerstand

2 - 2,2K weerstanden

5 - 1K weerstanden

1 - AMS1117, 5V

1 - 5 mm, gemeenschappelijke anode RGB LED

3 - 3 mm spoed, tweepolige, schroefklemmen

Optioneel

3 - mannelijke headers met twee pinnen - voor het opnieuw aansluiten van afgesneden Vin-, 3.3V- en Gnd-sporen

Stap 8: Alles afronden

Dit is een zeer veelzijdig ESP32 breakout-bord met de meest voorkomende functies die nodig zijn voor eenvoudige robots die in het breakout-bord zijn ingebouwd.

Het breakout-bord is niet beperkt tot ESP32-ontwikkelkits. Elk microcontrollerbord met dubbele rijen van maximaal twintig pinnen op een afstand van één inch kan worden gebruikt. Een ESP8266 of een LPC1768 bord zou passen. Je kunt het bord samenstellen zonder het TB6612FNG-dochterbord en alleen de GPIO gebruiken om door te breken. Het bord geeft je veel mogelijkheden om het te gebruiken.

Als je een aantal van deze boards laat maken, verwijder dan niet de naam 'Macedon Engineering' van de boards. U mag deze borden vrij gebruiken voor niet-commerciële toepassingen. Als je het bord maakt en gebruikt, zou ik het op prijs stellen als je aangeeft waarvoor je het hebt gebruikt. Ik hoop dat je het bord nuttig vindt.

Aanbevolen: