Taula de continguts:

Cotxe RC Bluetooth amb STM32F103C i L293D: econòmic: 5 passos
Cotxe RC Bluetooth amb STM32F103C i L293D: econòmic: 5 passos

Vídeo: Cotxe RC Bluetooth amb STM32F103C i L293D: econòmic: 5 passos

Vídeo: Cotxe RC Bluetooth amb STM32F103C i L293D: econòmic: 5 passos
Vídeo: ✅ Reversa y Giro para Carros y Robot (Como se hace?) Puente H 2024, Desembre
Anonim
Image
Image
Destrueix el consumidor de bateries
Destrueix el consumidor de bateries

Vaig fer un cotxe Arduino Bluetooth com el que es representa aquí, per Ardumotive_com. El problema que tenia era les bateries i el seu pes, així com les seves despeses. Des de llavors, els bancs d’energia econòmics per a mòbils s’han convertit en molt assequibles. Tot el que necessitava fer era reduir el pes. Com que sóc barat, vaig passar al microcontrolador STM32F103C. El microcontrolador STM32F103C es pot comprar per menys de 2 dòlars i és molt més petit que un Arduino. Vaig canviar una mica la codificació per treballar també amb el STM32F103C.

Subministraments

  • Un cotxe de control remot econòmic que menja piles. Sí, igual que el que utilitza Ardumotive_com. Apagareu el sistema i, en lloc d’això, utilitzarà un banc d’energia telefònica. Si teniu els recursos per construir el vostre propi xassís, tingueu-ho en compte. Vaig anar a la botiga de joguines del carrer i vaig comprar un cotxe barat per menys de 10 dòlars. El cotxe es menja piles i el comandament a distància es consumeix, perfecte per millorar.
  • Un banc de potència telefònica: ara són molt barats. Desvieu-vos dels bancs d’alimentació que tenen un botó d’engegada al lateral. No podreu seguir el cotxe i mantenir premut el botó. Això és una ximpleria.
  • Un xip L293D: es tracta del pont H doble que controlarà els motors elèctrics.
  • Un mòdul Bluetooth HC-06
  • Un commutador: he utilitzat un senzill interruptor d’encesa / apagada.
  • Alguns cables per a telèfons estarien bé, però seria millor un calibre de cadena de 20 una mica més gran.
  • Un tauler Proto o un tros de plàstic o cartró per muntar la píndola blava i el L293D. Sóc barat, de manera que em va semblar un sistema diferent amb cartró ondulat prim, com si fos una caixa de bombetes.
  • Dos cables de càrrega USB barats: es poden comprar a Dollar Tree. No utilitzeu el vostre bon cable de programació. Un es tallarà per l'interruptor d'encesa / apagat i l'altre carregarà la bateria.

Opcional

  • 4 LED: si voleu fars i llums posteriors.
  • 4 resistències de 220 ohms: per als LEDs d’un sistema de 3,3v.
  • Un altaveu piezo o petit per a trompa.

Eines

  • Soldador i soldador
  • Hot Glue Gun: la meva filla és una Ninja Hot Glue Gun!
  • Decapants i talls de filferro
  • NOTA: si utilitzeu la tècnica de cartró que faig servir en lloc d'una placa proto, necessitareu un dremel o un trepant petit

Pas 1: destruiu el consumidor de bateries

Destrueix el consumidor de bateries
Destrueix el consumidor de bateries

És hora de divertir-se destruint el consumidor de bateries. Sí, GUT THING THING! Sentiu-vos orgullosos que esteu fent la vostra part per fer el món més ecològic … D'acord, això és un tram, però de totes maneres … Aneu al marc.

A la part superior, hi ha la mateixa unitat que he fet la versió Arduino. La versió Arduino utilitzava una bateria greu que feia que el cotxe fos més pesat. Per tant, el vaig tornar a baixar al marc. Havia afegit uns parabolts d'una ampolla de plàstic i una cola calenta i havia personalitzat el cos. Més informació sobre el cos més endavant.

Un cop tingueu el quadre amb els motors i la direcció nus, busqueu quin costat dels terminals del motor són quins. Utilitzeu una bateria o un carregador de 5 V per provar el motor.

Al motor de direcció, quan les rodes giren a la dreta, etiqueteu el fil positiu de la bateria com a "3" i el fil negatiu "6".

Al motor motriu, quan les rodes giren cap endavant, etiqueteu el fil positiu de la bateria "14" i el fil negatiu "11".

Pas 2: el codi a Arduino IDE

El codi en IDE Arduino
El codi en IDE Arduino
El codi en IDE Arduino
El codi en IDE Arduino

Pot ser que sigui millor si prototipeu l'electrònica del vostre cotxe primer en una taula de proves.

D’acord, aquesta és una de les parts més complicades. La "Blue Pill" no es pot programar a través del port USB. No he trobat una explicació més senzilla de programació de la "Blue Pill" que el vídeo de Youtube de Joop Brokking. Explica tot el que heu de saber, inclosa la biblioteca STMduino de Roger Clarke. Hi ha una manera d'instal·lar un carregador d'arrencada, de manera que podeu utilitzar l'USB per programar la "Blue Pill", però heu de programar el carregador d'arrencada a través del bus sèrie.

Malauradament, l'adaptador Bluetooth també utilitza el bus sèrie. El programa s’ha d’instal·lar mitjançant els pins Serial Bus, PA9 i PA10, primer mitjançant un FTDI, i després podeu comprovar tots els paràmetres amb l’adaptador Bluetooth.

Utilitzeu una pissarra i dissenyeu-ho tot de la mateixa manera que l'esbós divertit esmentat més amunt. Desconnecteu les línies Serial TX i RX de l'adaptador Bluetooth als pins PA9 i PA10 de l'STM32F103C. Enganxa al teu programa FTDI. Assegureu-vos que es creuen les línies de bus sèrie, RX a Tx i Tx a RX. Un rep i l’altre dóna.

Un cop carregat el programa, podeu obrir la consola sèrie i enviar-la

per veure si els llums funcionen. Si els llums funcionen, podeu enviar-los

de nou per desactivar-les.

Poseu el cotxe en un bloc per elevar els pneumàtics i envieu-los

Les rodes haurien d’anar endavant. Si no ho fan, inverteix els cables. Recordeu com hem etiquetat els cables abans. S'han de coincidir els pins corresponents del L293D.

Per aturar, envieu

Vegem els canvis significatius del codi.

A la secció comentada, al principi, hauríeu de veure l’originador de fitxers, d’Ardumotive. Els propers comentaris expliquen on he canviat una mica per reflectir el STM32F103C.

/ * * Creat per Vasilakis Michalis // 12-12-2014 ver.2

* Projecte: Controlar el cotxe RC mitjançant Bluetooth amb un telèfon intel·ligent Android * Més informació a https://www.ardumotive.com * * Va canviar aquest codi per adaptar-lo a STM32F103 de Jim Garbe, [email protected] * Més informació a https:// github.com / jgarbe / RCCAR_STM32F103C * Tingueu en compte que els valors de 8 bits de 0-255 s’han canviat per reflectir els valors de 16 bits de 0 a 65535 * / / ****************** ********* * A l'STM32, l'escriptura analògica encara funciona a 255 de 8 bits, * Però podeu obtenir la funció completa del rang PWM, 0-65535, declarant el Pin com a PWM * I utilitzant pwmWrite () en lloc de analogWrite () **************************** /

El més notable és que els pins no s’anomenen de la mateixa manera entre l’Arduino i el STM32F103C. Declarem els pins mitjançant el següent conjunt de línies. Queda un pin que es declara molt avall al bucle. A la línia 197, PA5 s’utilitza per llegir el nivell de la bateria.

//// Connexió L293

const int motorA1 = PB6; // al Pin 15 de L293 const int motorA2 = PB7; // al Pin 10 de L293 const int motorB1 = PB8; // al Pin 7 de L293 const int motorB2 = PB9; // al Pin 2 de L293 // Leds connectats a STM32F103C Pin A12 const int lights = PA12; // Buzzer / altaveu a Arduino UNO Pin A8 const int buzzer = PA8; // Bluetooth (HC-06 JY-MCU) Estat pin al pin A11 de STM32F103C const int BTState = PA11;

També, utilitzant analogWrite (); encara funcionarà a la "BluePill". Però és millor declarar els pins PWM utilitzant, pinMode (, PWM);

A continuació, utilitzeu

pwmWrite (,);

NOTA: 8 bits = 0-255, 16 bits = 0-65535

Les línies 32-44 són canvis realitzats a la bateria. Si utilitzeu la comprovació del nivell de la bateria, heu d’utilitzar un divisor de vots per a la bateria que tingueu. Aquesta part no es reflecteix a l'esbós de Fritzing. Hi ha moltes explicacions sobre com crear un divisor de voltatge a Youtube. Com que el STM32F103C és un xip de 3,3 V, he corregit el codi aquí per utilitzar físicament un divisor de tensió. L'Arduino pot tolerar algunes tensions més altes a través dels ADC proporcionats, però la "Blue Pill" no.

/ * El nivell de la bateria es comprovarà al pin PA5

* He canviat la següent línia per a l'STM32F103C perquè l'ADC no pot gestionar * res superior a 3,3 v * L'acabo de comentar * S'ha de calcular i utilitzar un divisor de voltatge que utilitzi dues resistències * per mesurar l'entrada ADC més avall al codi * exemple: * GND --- 2K resistència ----------------- 1K resistència ------ 5v * | * | * 3.3v * / // const float maxBattery = 3.3; // Canvieu el valor al nivell màxim de voltatge de la bateria.

Pas 3: uniu-ho tot

Posa-ho tot junt
Posa-ho tot junt
Posa-ho tot junt
Posa-ho tot junt
Posa-ho tot junt
Posa-ho tot junt
Posa-ho tot junt
Posa-ho tot junt

Normalment faig servir una placa de proto per col·locar les peces i soldar entre els forats per connectar-ho tot. De vegades, "deadbug solder" tot junt per obtenir més aspecte de soldadura de Frankenstein / 3D.

He escollit aquest mètode híbrid per fer el dispositiu net i lleuger, i per descomptat, BARAT.

Aquest mètode també permet etiquetar. Una de les pitjors parts de la soldadura de bestieses és quan mireu un xip IC des de la part inferior i oblideu quin pin és el que.

Les imatges anteriors s’expliquen per si mateixes. Suposo que el més difícil és trobar el cartró prou prim per reduir-se i ser rígid alhora. També podeu utilitzar plàstic, però marcar-lo és una mica més difícil. Un cop pressionat els passadors al tauler i marcat els clots, faig servir un Dremel per perforar cada forat del passador.

Si encara no us n'heu adonat, només tinc els llums com a endoll d'accessoris al tauler. No estic fent servir l'indicador de la bateria ni el bip. És perquè el meu projecte té un propòsit diferent. Serà autoexplicable quan vegeu el resultat final amb la carrosseria del cotxe. … però això aporta una altra idea: hi ha molts pins no utilitzats en aquest projecte. Potser un obridor de maleteres, un obridor de portes del cotxe, un detonador de trencaclosques, … … o fins i tot un mini generador de pertorbacions èteres luminoses Galvani-Edison!

Un cop finalitzada tota la soldadura, proveu abans d’enganxar en calent les juntes per comprovar la tensió dels cables.

He utilitzat la mateixa aplicació d'Android que Ardumotive. Es pot trobar a

Un cop provades les funcions del cotxe, és hora de col·locar la bateria i canviar-la. Aneu al pas següent.

Pas 4: bateria i commutador

D'acord, aquí no podeu seguir exactament el meu pla.

D’alguna manera, haureu de trobar un bon lloc per col·locar la bateria al cotxe amb una manera de carregar el banc de bateries des d’un dongle o una manera de carregar directament l’endoll de la bateria. Al vídeo introductori, només vaig gravar la bateria i el microcontrolador al marc i el vaig executar. Quan volia aturar-me, només vaig desconnectar la bateria. El problema amb aquesta configuració és la perilitat dels endolls del cable USB i / o del banc d’alimentació. És millor tenir un interruptor.

També haureu de trobar un bon lloc per a l’interruptor on la carrosseria del cotxe encara permetrà l’accés. Vaig utilitzar un interruptor de botó senzill (no un interruptor momentani) i el vaig muntar a la part inferior del quadre on es troba el compartiment de la bateria original.

Haureu de tallar un cable USB per la meitat i posar el commutador entre la bateria i el port USB STM32F103C. Sí, podeu alimentar el STM32F103C amb el port USB. Simplement no el podeu programar a través del port USB. Vaig tornar a fer servir un Dremel per perforar alguns forats per als passadors de soldadura. Un cop soldat, vaig fer servir Hot Glue, de nou per reforçar les connexions.

Pas 5: poseu la carrosseria del cotxe al marc

D'acord, vaig dir que vaig tornar a proposar la versió original d'Arduino d'aquest cotxe. El producte final real, doncs, era un puntal per al ballet "El trencanous" realitzat per la nostra companyia local de ballet. A l'escena inicial, un ratolí va córrer per l'escenari amb la màgia accidental de Drosselmeyer. Vaig utilitzar una rata IKEA i la vaig instal·lar a la part superior del quadre, Arduino, i una bateria molt més gran. L’atrezzo era pesat i no es podia recarregar. Això és molt millor!

Diverteix-te amb el teu cotxe. Recordeu que hi ha molts pins més a la STM32F103C que es poden utilitzar. Potser una mofeta similar a la de "Toy Story 4."

Recomanat: