Taula de continguts:

CheminElectrique (Joc d’habilitats) - SRO2002: 9 passos
CheminElectrique (Joc d’habilitats) - SRO2002: 9 passos

Vídeo: CheminElectrique (Joc d’habilitats) - SRO2002: 9 passos

Vídeo: CheminElectrique (Joc d’habilitats) - SRO2002: 9 passos
Vídeo: Cours - schéma électrique 2024, Juliol
Anonim
CheminElectrique (Joc d’habilitats) - SRO2002
CheminElectrique (Joc d’habilitats) - SRO2002
CheminElectrique (Joc d’habilitats) - SRO2002
CheminElectrique (Joc d’habilitats) - SRO2002
CheminElectrique (Joc d’habilitats) - SRO2002
CheminElectrique (Joc d’habilitats) - SRO2002

Avui us presento la creació d’un joc que vaig fer per a la festa de final de curs escolar per al meu fill. A França anomenem aquests festivals "kermesses", no sé si existeixen en altres països i com es diuen …

En aquestes festes sovint hi ha els mateixos jocs, això és el que anomenaria jocs clàssics, i aquest any vaig decidir fer una versió més moderna d’un d’aquests jocs clàssics: el "Chemin electrique" o el "Main chaude".

L’objectiu del joc és molt senzill, hi ha un cable per on passa un corrent elèctric, aleshores teniu un “joystick” compost per un cercle metàl·lic al seu extrem que passa al voltant del cable elèctric i l’objectiu del joc és recórrer el cablejat d’un extrem a l’altre sense tocar-lo, en cas contrari s’apaga un llum d’advertència i / o un so i s’ha perdut.

Tradicionalment, no hi ha electrònica per crear aquest joc, amb una simple bateria de 12V amb una bombeta i una mica de cable elèctric n’hi ha prou, però tenia algunes idees interessants per fer el joc més modern.

Veiem, doncs, què he afegit com a funcionalitat.

Pas 1: funcions

Com acabo de dir, aquest joc simplement encén una llum quan el jugador toca involuntàriament el cable amb el "joystick", també passa sovint que el joc produeix un so durant el contacte. A la meva versió del joc hi haurà un total de 6 blocs de 4 LEDs (verd-groc-groc-vermell) que s’encendran simultàniament, un brunzidor que produirà un so i també un vibrador integrat al controlador que s’activarà quan hi ha contacte entre el cable elèctric i el "joystick".

Els LED s’il·luminaran gradualment de verd a vermell en funció del temps que duri el contacte entre el cable i el controlador.

També he afegit una selecció del nivell de dificultat (fàcil-normal-difícil), així com la possibilitat d’activar / desactivar el vibrador i el so. El volum del so també es podrà ajustar amb un potenciòmetre.

L’elecció de la dificultat és, de fet, simplement un retard més o menys llarg entre el moment en què hi ha un contacte entre el cable i el joystick i el moment en què el joc comença a il·luminar-se / sonar / vibrar. He definit temps predefinits programant, per exemple, en mode fàcil, el joc espera 1 segon abans d’activar avisos, mentre que en mode difícil, els avisos s’activaran immediatament.

He dissenyat el joc perquè sigui fàcil de desmuntar, fiable i sobretot que no presenti cap perill per als nens que l’utilitzaran. De fet, atès que el fil elèctric està travessat per un corrent i que està desposseït, vaig haver d'assegurar-me que no presentés cap perill per als usuaris del joc.

Pas 2: Exempció de responsabilitat i més informació

Exempció de responsabilitat i més informació
Exempció de responsabilitat i més informació

Exempció de responsabilitat:

El joc serà alimentat per 4 bateries d'1,5 V, un voltatge total de 6 V, també limito el corrent que travessa el cable a només uns pocs microamperis. Per tant, estem en el camp de la tensió de seguretat molt baixa (SELV) amb un valor de corrent extremadament baix accessible per a l'usuari.

Però atenció, especifico bé que cap valor del corrent elèctric és inofensiu, un corrent feble en certs casos pot ser perillós per a la persona electrificada. Vaig fer moltes investigacions sobre això durant la creació d’aquest projecte i, tot i que no hi ha consens científic sobre el valor límit abans del qual el corrent no té cap impacte en el cos humà, el corrent d’algun microamper que creua el cable elèctric té molt poc possibilitat de ferir una persona.

Però atenció, no em podré fer responsable en cas d'accident. Sempre s’ha de tenir precaució a l’hora de manipular conductors elèctrics actius, fins i tot amb valors de corrent molt baixos. Us aconsello encaridament que us informeu tant com sigui possible sobre els riscos de l'electricitat i les bones precaucions a prendre

Més informació:

Aquest projecte funciona molt bé i té totes les funcions que volia, però té alguns defectes. Quan creo un projecte electrònic, intento que tot estigui el més optimitzat possible en termes de cost, nombre de components, espai i, sobretot, que el funcionament del conjunt sigui el més "lògic" possible.

Mentre feia aquest projecte i després d’acabar-lo, crec que hi ha algunes opcions que he pres que no són les millors, però el temps m’ha pressionat, només he tingut dues setmanes per fer-ho tot des de zero (disseny, programació, ordenació de components, creació de estructura, i sobretot muntar tots els elements).

Segons els passos de fabricació, indicaré què crec que es podria optimitzar si hagués de tornar a crear aquest joc. Però repeteixo que el projecte és bastant funcional, però sóc perfeccionista …

També lamento no haver fet més fotos de les diferents etapes del projecte, però he preferit dedicar-me al màxim al projecte per poder acabar-lo a temps.

Estic content amb aquest projecte perquè va ser un gran èxit a la festa de l'escola del meu fill, així que anem a veure què hi ha a la panxa de la bèstia;)

Pas 3: Obligacions

- Ha de funcionar amb bateria (per seguretat i mobilitat) - El joc ha de ser segur (serà utilitzat per nens de 2 a 10 anys)

- La configuració ha d’estar disponible (elecció de l’activació del so / vibrador i la dificultat)

- La configuració ha de ser senzilla d’entendre i de fàcil accés (s’ha de suposar que la persona que s’encarregarà del joc durant la festa no sap res en electrònica / tècnica)

- El so ha de ser prou fort (el joc s'utilitzarà a l'exterior en un entorn força sorollós).

- El sistema ha de ser extraïble al màxim per a l’emmagatzematge i peces físiques fàcilment substituïbles (palanca de control, cable elèctric …)

- Ha de ser atractiu per als nens (aquest és l'objectiu principal pel qual juguen …:))

Pas 4: components (BOM)

Per al cas: - tauló de fusta

- pintura

- algunes eines per perforar i tallar …

Per al "joystick": - 1 vibrador

- presa de cable 3.5 (estèreo)

- connector jack 3.5 (estèreo)

- cable elèctric de 2,5 mm²

- un petit tub de PVC

Components electrònics:

- 16F628A

- 12F675

- ULN2003A

- 2 x 2N2222A

- Diodo Zener 2,7V

- 12 LEDs blaus

- 6 LEDs verds

- 6 LED vermells

- 12 LED grocs

- 5 resistències de 10K

- 2 resistències 4.7K

- 1 resistència de 470 ohm

- 6 resistències 2.2K

- 6 resistències de 510 ohm

- 18 resistències de 180 ohm

- 1 potenciòmetre 1K

- 1 commutador ON-OFF

- 2 commutadors ON-OFF-ON

- 1 brunzidor

- 1 convertidor de corrent continu

- cable elèctric de 2,5 mm²

- 2 connectors banana mascle

- 2 connectors banana femella

- connector jack 3.5 (estèreo)

- suport per a 4 bateries LR6

- algunes plaques de prototipatge de PCB

Eines electròniques: - Un programador per injectar el codi en un Microchip 16F628A i 12F675 (per exemple, PICkit 2) -

Us aconsello que utilitzeu Microchip MPLAB IDE (freeware) si voleu modificar el codi, però també necessitareu el compilador CCS (shareware). També podeu utilitzar un altre compilador, però necessitareu molts canvis al programa.

Però us proporcionaré. Fitxers HEX perquè pugueu injectar-los directament en microcontroladors.

Pas 5: anàlisi de la funció

Anàlisi de funcions
Anàlisi de funcions
Anàlisi de funcions
Anàlisi de funcions

Microcontrolador 16F628A (Func1): és el "cervell" de tot el sistema, és aquest component el que detecta la posició dels commutadors de configuració, el que detecta si hi ha contacte entre el "joystick" i el cable elèctric i el que activa el advertències (llum, so i vibrador). Vaig triar aquest component perquè tinc un fons bastant gran i perquè estic acostumat a programar-hi, i com que no tenia molt de temps per fer aquest projecte, vaig preferir agafar algun material que conec bé.

Interfície d'alimentació ULN2003A (Func2): aquest component serveix com a interfície d'alimentació entre el 16F628A i els circuits que consumeixen més energia de la que pot proporcionar el microcontrolador (LED, brunzidor, vibrador).

Control del timbre (Func3):

El PIC 16F628A no pot proporcionar prou corrent per alimentar el brunzidor, sobretot perquè s’ha d’alimentar mitjançant un convertidor d’augment per tal d’augmentar la seva potència sonora.

De fet, ja que el conjunt es subministra en 6V i que el brunzidor requereix 12V per funcionar al màxim, faig servir un convertidor per obtenir la bona tensió. Per tant, faig servir un transistor com a interruptor (mode de commutació) per controlar l’alimentació del brunzidor. El component que he triat és un 2N2222A clàssic que és molt adequat per a aquest ús.

Aquí teniu les funcions del brunzidor: 12V 25mA, això vol dir que necessita una potència teòrica de P = UI = 12 x 25mA = 0,3W

Per tant, hi ha un requisit de potència de 0,3 W del convertidor d’impulsió de CC, el mòdul d’impulsió de CC té una eficiència del 95%, de manera que es produeix una pèrdua del 5%. Per tant, es necessita una potència mínima de 0,3W + 5% = 0,315W a l’entrada del convertidor.

Ara podem deduir l’Ic actual que creuarà el transistor Q1:

P = U * Ic

Ic = P / U

Ic = P / Vcc-Vcesat

Ic = 0, 315 / 6-0, 3

Ic = 52mA

Ara calculem la resistència base que permet que el transistor estigui ben saturat:

Ibsatmin = Ic / Betamin

Ibsatmin = 52mA / 100

Ibsatmin = 0,5 mA

Ibsat = K x Ibsatmin (trio un coeficient de sobresaturació K = 2)

Ibsat = 2 x Ibsatmin

Ibsat = 1mA

R12 = Ur12 / Ibsat

R12 = Vcc - Vbe

R12 = (6 - 0,6) / 1 mA

R12 = 5,4K

Valor normalitzat (E12) per R12 = 4,7K

Control del vibrador (Func4):

Pel que fa al brunzidor, el 16F628A no pot subministrar prou intensitat al vibrador que requereix un corrent de 70mA, a més s’ha de subministrar al màxim amb una tensió de 3V. Així que vaig optar per utilitzar un díode zener juntament amb un transistor per fer un regulador de voltatge de 2,7 V per al vibrador. El funcionament de l’associació zener-transistor és senzill, el zener fixa la tensió de 2,7 V a la base del transistor i el transistor “copia” aquesta tensió i subministra l’energia.

El corrent que creuarà el transistor Q2 és, doncs, igual a Ic = 70mA

Ara calculem la resistència de la base que permet que el transistor estigui ben saturat:

Ibsatmin = Ic / Betamin

Ibsatmin = 70mA / 100

Ibsatmin = 0, 7mA

Ibsat = K x Ibsatmin (trio un coeficient de sobresaturació K = 2) Ibsat = 2 x Ibsatmin

Ibsat = 1, 4mA

El corrent mínim del díode zener ha de ser com a mínim Iz = 1mA per al seu funcionament, de manera que podem deduir el corrent que passa per la resistència R13:

Ir13 = Ibsat + Iz

Ir13 = 1, 4mA + 1mA

Ir13 = 2, 4mA

Per assegurar que el corrent del díode zener Iz sempre està en el rang de funcionament correcte, es pren un marge de seguretat amb un: Ir13_fixed = 5mA (elecció del valor completament arbitrària)

Ara calculem el valor de R13:

R13 = U13 / Ir13_fixed

R13 = VCC-Vz / Ir13_fixed

R13 = 6-2, 7 / 5mA

R13 = 660 ohm

Valor normalitzat (E12) per R13 = 470 ohm

Podria haver triat 560 ohms a la sèrie E12 però no tenia aquest valor, així que vaig agafar el valor anterior …

Es pot optimitzar

Quan vaig fer el disseny del projecte no vaig pensar en el Vbe del transistor, així que en lloc de tenir 2,7 V per alimentar el vibrador només tinc 2,7 V-0,6 V = 2,1 V. Hauria d’haver pres un zener de 3,3 V per exemple, el vibrador hauria estat una mica més potent fins i tot si el resultat és força satisfactori, no exploto tota la potència del vibrador …

LED d'advertència (Func5):

Els LED es col·loquen verticalment com si formessin un indicador: vermell

Groc2

Groc1

Verd

Quan es detecta un contacte entre el "joystick" i el cable elèctric, es van il·luminant gradualment de verd a vermell.

Els LED estan connectats al VCC en grups segons el seu color:

- Tots els ànodes dels LED verds estan connectats entre si

- Tots els ànodes dels LEDs grocs1 estan connectats entre si

- Tots els ànodes dels LEDs grocs2 estan connectats entre si

- Tots els ànodes dels LED vermells estan connectats entre si

El microcontrolador els activa després posant a terra el càtode mitjançant l'ULN2003A.

Nota:

A l'esquema només hi ha un LED de cada color amb un símbol "X6" al costat perquè faig servir una versió gratuïta de Cadence Capture i estic limitat per un nombre màxim de components per diagrama, de manera que no he pogut fer que apareguin tots els LED …

Gestió del nivell de so del buzzer (Func6):

Simplement és un potenciòmetre en sèrie amb el brunzidor que permet ajustar el volum del so.

LED de "decoració" (Func7 - esquema / pàgina 2):

El propòsit d’aquests LED és crear una persecució per a la decoració del joc. S'il·luminen d'esquerra a dreta. Hi ha un total de 12 LED blaus: 6 al començament del curs que representen la línia de sortida i 6 al final del curs que representen la meta.

Vaig triar fer una pantalla de multiplexació per a aquests LED perquè hauria requerit molts més pins per demanar-los (6 pins amb mutliplexing, 12 pins sense multiplexació).

A més, a la seva fitxa tècnica s’indica que el Vf és de 4V, per tant, no he pogut posar 2 LED en sèrie (el VCC és de 6V) i tampoc no he pogut posar en paral·lel perquè necessiten teòricament 20 mA i que el microcontrolador només pot subministrar 25 mA màxim per pin, per tant, 40 mA haurien estat impossibles.

Per resumir, no vaig poder fer una associació de LED (posats en sèrie o en paral·lel) i no tenia prou pin al microcontrolador per accionar-los de totes maneres … Així que vaig optar per utilitzar un altre microcontrolador (12F675) de 8 pins per poder Gràcies a aquest microcontrolador, controlo l’activació dels LED establint un nivell lògic alt (VCC) als seus ànodes i faig servir el PIC 16F628A i l’ULN2003A per realitzar la multiplexació.

Es pot optimitzar:

En realitzar les proves en una taula de proves, em vaig adonar que per al mateix corrent I = 20mA, els LED tenien una gran diferència de brillantor segons els seus colors. Per exemple, amb 20mA, els LED blaus eren molt més brillants que els verds. No em va semblar estètic que alguns LEDs fossin molt més brillants que d’altres, de manera que vaig variar la resistència en sèrie amb els LED blaus fins que vaig obtenir la mateixa potència lluminosa que els LED verds alimentats amb un corrent de 20 mA.

I em vaig adonar que els LED blaus tenien la mateixa brillantor que els LED verds amb un corrent de només 1 mA. El que significa que si ho hagués sabut abans, hauria pogut optar per posar els LED blaus en sèrie (en grups de 2). I només necessitava 3 pins més al 16F675A (que estan disponibles), de manera que no calia afegir cap altre microcontrolador dedicat a gestionar aquests LED.

Però en aquest moment del disseny no ho sabia, de vegades hi ha una diferència gens menyspreable entre les característiques de la documentació tècnica i les característiques reals dels components …

Limitació del corrent (Func0):

No havia planejat aquesta part del tot en el moment del disseny, la vaig afegir només al final del projecte, quan ja estava tot acabat. Al principi, simplement havia connectat el VCC directament al cable elèctric amb només una resistència desplegable per tal de posar l'entrada del microcontrolador que detecta el contacte a terra.

Però, com he dit abans, vaig fer moltes investigacions per esbrinar si el corrent que circulava pel cable elèctric podria ser perillós si arribés a tenir contacte entre el cable i el cos humà.

No he trobat una resposta precisa sobre aquest tema, així que he preferit afegir una resistència entre el VCC i el cable elèctric per tal de reduir el corrent que travessa el cable el màxim possible.

Per tant, volia posar una resistència d’alt valor per tal de reduir el corrent al valor més baix possible, però com que ja havia acabat el projecte i, per tant, tots els soldats i cablejats de les diferents targetes, ja no podia treure la resistència de desplaçament de 10 Kohm. Per tant, vaig haver de triar un valor de resistència per obtenir 2/3 de VCC al pin BR0 (pin 6 de 16F628A) de manera que el microcontrolador detecti tot i que és un nivell lògic elevat quan hi ha contacte entre el joystick i el cable elèctric.. Si hagués afegit massa resistència, hauria tingut el risc que el microcontrolador no hagués detectat el canvi entre l'estat de lògica baixa i l'estat de lògica alta.

Així que vaig optar per afegir una resistència de 4,7 K per tal d’obtenir una tensió d’uns 4 V al pin quan hi ha contacte entre el joystick i el cable elèctric. Si s’afegeix a això la resistència de la pell humana en cas de contacte del fil elèctric amb la mà, per exemple, el corrent que circula pel cos seria inferior a 1mA.

I fins i tot si una persona toca el filferro, només estarà en contacte amb el terminal positiu de les bateries i no entre el terminal positiu i el negatiu, però com he dit a l’exempció de responsabilitat SEMPRE presti atenció al que feu amb el corrent elèctric.

Nota: Vaig dubtar durant molt de temps en afegir aquesta resistència, ja que el corrent elèctric possiblement accessible a l’usuari (a través del cable elèctric) és feble i que el conjunt es subministra amb bateria amb només 6V de tensió i que potser sigui estrictament innecessari limiteu el corrent de les bateries, però com que és per a nens, he preferit prendre tantes precaucions com sigui possible.

Pas 6: programació

Programació
Programació

Els programes s’escriuen en llenguatge C amb IDE MPLAB i el codi es compila amb el compilador CCS C.

El codi és completament comentat i molt senzill d’entendre, però explicaré ràpidament les funcions principals dels 2 codis (per a 16F628A i 12F675).

El primer programa -CheminElectrique.c- (16F628A):

Gestió de multiplexació LED: Funció: RTCC_isr ()

Utilitzo el timer0 del microcontrolador per provocar un desbordament cada 2 ms que permet gestionar la multiplexació dels LED.

Gestió de la detecció de contactes:

Funció: void main ()

Aquest és el bucle principal, el programa detecta si hi ha contacte entre el joystick i el cable elèctric i activa els LEDs / zumbador / vibrador segons el temps de contacte.

Gestió de la configuració de dificultats:

Funció: llarga GetSensitivityValue ()

Aquesta funció s'utilitza per comprovar la posició del commutador que permet seleccionar la dificultat i retorna una variable que representa el temps d'espera abans d'activar les alarmes.

Gestió de la configuració de l'alarma:

Funció: int GetDeviceConfiguration ()

Aquesta funció s’utilitza per comprovar la posició del commutador que selecciona l’activació del brunzidor i el vibrador i retorna una variable que representa les alarmes que han d’estar actives.

El segon programa -LedStartFinishCard.c- (12F675):

Gestió d'activació LED blau: Funció: void main ()

Aquest és el bucle principal del programa, activa els LED un darrere l’altre d’esquerra a dreta (per crear una persecució)

Vegeu a continuació un fitxer zip del projecte MPLAB:

Pas 7: Soldadura i muntatge

Soldadura i muntatge
Soldadura i muntatge
Soldadura i muntatge
Soldadura i muntatge
Soldadura i muntatge
Soldadura i muntatge
Soldadura i muntatge
Soldadura i muntatge

Part "física": vaig començar creant la caixa, així que vaig tallar taulers de fusta d'uns 5 mm de gruix per a la part superior i els laterals i vaig triar un tauler de 2 cm de gruix perquè la part inferior tingués més pes i que el joc no es mogués.

Vaig muntar les taules entre estar amb cola de fusta, no vaig posar cap cargol ni clau i és realment sòlid!

Per tal de fer el joc més atractiu que una simple caixa pintada, vaig demanar a la meva dona que creés una decoració per a la part superior de la caixa (perquè realment em fa gràcia el disseny gràfic …). Li vaig demanar que fes una carretera sinuosa (que tingués una relació amb el filferro …) Amb llaunes / panell a les vores de les corbes per poder incorporar els LEDs d'advertència. Els LED blaus de les decoracions seran com les línies d’inici i d’arribada. Va crear un paisatge d'estil "Route 66", amb una carretera que creua una mena de desert, i després de diverses impressions per trobar la bona ubicació dels LED, vam quedar bastant contents del resultat.

Després he forat tots els connectors, interruptors i, per descomptat, els LED.

El cable elèctric es torça per crear zig-zags per augmentar la dificultat del joc i cada extrem es cargola en un connector de plàtan masculí. A continuació, els connectors es connectaran als connectors femelles de plàtan connectats a la coberta de la carcassa.

Part electrònica:

He dividit la part electrònica en diverses petites prototips.

Hi ha:

- una targeta per al 16F628A

- una targeta per al 12F675

- 6 targetes LED d'advertència

- 4 targetes per a LEDs decoratius (línia de sortida i meta)

Vaig arreglar totes aquestes targetes sota la tapa de la caixa i vaig col·locar el suport de la bateria a la part inferior de la caixa amb el brunzidor i el mòdul d’alimentació de CC.

Tots els elements electrònics es connecten embolicant cables, els he agrupat tant com sigui possible segons la seva direcció i els he torçat i fixat amb cola calenta perquè quedin el més "nets" possibles i sobretot que hi hagi no hi ha contactes ni cables falsos que es desconnectin. Realment em va costar molt de temps tallar / ratllar / soldar / col·locar els cables correctament.

Part "Joystick":

Per al joystick vaig agafar un petit tros de tub de PVC (1,5 cm de diàmetre i 25 cm de longitud) i després vaig soldar el connector femella de la manera següent:

- un terminal connectat al cable al final del joystick (ContactWire a l’esquema)

- un terminal connectat al terminal positiu del vibrador (2A al connector J1A a l’esquema)

- un terminal connectat al terminal negatiu del vibrador (1A al connector J1A a l’esquema)

Aleshores vaig integrar el cable, el vibrador i el connector de la presa dins del tub i vaig fixar la presa amb cola calenta per assegurar-me que no es movés res en connectar el cable de la presa entre el joystick i l’altra part del sistema.

Pas 8: vídeo

Pas 9: Conclusió

Ara el projecte s’ha acabat, va ser molt divertit fer aquest projecte tot i que em sap greu tenir molt poc temps per fer-lo. Em va permetre assumir un nou repte;) Espero que aquest joc funcioni durant molts anys i que divertirà a molts nens que celebraran el final del seu curs!

Proporciono un fitxer d’arxiu que conté tots els documents que he utilitzat / creat per al projecte.

No sé si el meu estil d’escriptura serà correcte perquè en part faig servir un traductor automàtic per anar més de pressa i, com que no parlo de manera nativa en anglès, crec que probablement algunes frases seran estranyes per a les persones que escriuen anglès perfectament.

Si teniu cap pregunta o comentari sobre aquest projecte, feu-m'ho saber.

Recomanat: