Taula de continguts:
- Pas 1: materials
- Pas 2: Començar la codificació
- Pas 3: fitxer de restriccions
- Pas 4: Flip Flop File
- Pas 5: fitxer de segments
- Pas 6: fitxer divisor de rellotge
- Pas 7: fitxer de senyal servo
- Pas 8: Servo Fitxer superior
- Pas 9: Arxiu superior
- Pas 10: proves a Vivado
- Pas 11: Creació d'una introducció al maquinari
- Pas 12: preparació
- Pas 13: soldar
- Pas 14: final
Vídeo: CPE 133 Classificador de paperera: 14 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Per a la nostra classe CPE 133 a Cal Poly, ens van dir que crearíem un projecte VHDL / Basys 3 que ajudés el medi ambient i que fos prou senzill com per poder implementar-lo amb els nostres nous coneixements de disseny digital. La idea del nostre projecte que, en general, la gent no pensa a on llença la brossa. Vam decidir crear una màquina que obligés les persones a pensar on posaven les escombraries. El nostre classificador d’escombraries transmet l’entrada de l’usuari a través de tres commutadors, que representen cadascun d’ells brossa, reciclatge o compost. Una vegada que l'usuari ha seleccionat el tipus de residus que volen eliminar, premen un botó. Aquest botó farà que s’obrin les tapes del contenidor corresponents. La màquina també va utilitzar la pantalla de la base 3 per indicar si alguna de les tapes està oberta actualment. Quan es deixa anar el botó, les tapes es tornaran a tancar de manera que la màquina estigui llesta per al següent usuari.
Pas 1: materials
Els materials necessaris per a aquest projecte són:
Tauler Basys 3
Ordinador amb Vivado instal·lat
Servo 3x *
Fil de coure de 3 peus
Tallador de fil / pelador
Soldador i soldador
* perquè els servos són cars i som estudiants universitaris, hem substituït una resistència de 68 ohms i un LED per cada servo com a prototip (el codi funciona de la mateixa manera)
Pas 2: Començar la codificació
Hi ha molts codis per escriure per a aquest projecte. Utilitzarem codi VHDL escrit en Vivado. Per començar voldrem crear un nou projecte. Primer anomenareu el projecte i especifiqueu el tipus de projecte. Assegureu-vos de seleccionar la mateixa configuració que a la imatge. Quan hàgiu arribat a la pantalla de fonts, voldreu afegir sis fonts anomenades "top", "flip_flop", "segments", "servo_top", "servo_sig" i "clk_div". Assegureu-vos de seleccionar VHDL per a l'idioma de cada fitxer, no de Verilog. A la pantalla de restriccions, heu de crear un fitxer per a l'assignació de pins. El nom d’aquest fitxer no és important. A continuació, se us demanarà que seleccioneu el tauler que utilitzarà. Assegureu-vos que seleccioneu la correcta. Fotos de referència per a una selecció correcta. L'últim pas us demanarà que especifiqueu les entrades i sortides de cada fitxer font. Aquest pas es pot codificar més endavant, així que feu clic a Següent.
Pas 3: fitxer de restriccions
En aquest pas escriurem el fitxer de restriccions. Això indica a Vivado quins pins enviaran / rebran quins senyals del circuit. Necessitarem el rellotge, tres interruptors, la pantalla de set segments (set càtodes i quatre ànodes), un botó i els tres pins PMOD de sortida que utilitzarà el servo / LED. Fotos de referència sobre com ha de quedar el codi.
Pas 4: Flip Flop File
El següent fitxer que escriurem és el fitxer font flip_flip. Aquesta serà una implementació VHDL d’un xanclet D. En altres paraules, només passarà l'entrada a la sortida a la vora ascendent del senyal del rellotge i quan es prem el botó. Prendrà el rellotge, D i el botó com a entrada i sortirà Q. Feu referència a les fotos per obtenir codi. El propòsit d’aquest fitxer és permetre que els contenidors s’obrin només quan es prem el botó en lloc d’obrir-lo directament cada vegada que es gira l’interruptor i només es tanca quan es gira cap enrere.
Pas 5: fitxer de segments
El següent fitxer que cal escriure és el fitxer de segments. Això prendrà el botó com en els valors d'entrada i sortida dels set càtodes i quatre ànodes de la pantalla de set segments de Basys 3. Aquest fitxer fa que la pantalla de set segments mostri una "C" quan els contenidors estan tancats i una "O" quan els contenidors estan oberts. Per obtenir codi, vegeu la foto adjunta.
Pas 6: fitxer divisor de rellotge
Els servos funcionen prenent un senyal PWM amb una freqüència de 64 k Hz mentre el rellotge integrat al Basys 3 funciona a 50 M Hz. El fitxer divisor de rellotge convertirà el rellotge per defecte en una freqüència amigable per al servo. El fitxer prendrà el rellotge i un senyal de restabliment com a entrada i generarà un nou senyal de rellotge. Consulteu la foto adjunta per obtenir el codi.
Pas 7: fitxer de senyal servo
El fitxer de senyal de servo prendrà una entrada de rellotge, una entrada de restabliment i una entrada de posició desitjada. Emetrà un senyal PWM que conduirà el servo a la posició desitjada. Aquest fitxer utilitza el senyal de rellotge creat a l'últim fitxer per crear un senyal PWM per al servo amb diferents cicles de treball en funció de la posició desitjada. Això ens permet girar els servos que controlen les tapes dels contenidors d’escombraries. Consulteu la foto adjunta per obtenir el codi.
Pas 8: Servo Fitxer superior
El propòsit d’aquest fitxer és compilar els dos darrers fitxers en un servo controlador funcional. Es necessitarà un rellotge, un restabliment i una posició com a entrada i la sortida del senyal servo PWM. Utilitzarà tant el divisor de rellotge com el fitxer de senyal de servo com a components i inclourà un senyal de rellotge intern per passar el rellotge modificat del divisor de rellotge al fitxer de senyal de servo. Veure fotos a
Pas 9: Arxiu superior
Aquest és el fitxer més important del projecte, ja que inclou tot el que hem creat junts. Prendrà el botó, els tres interruptors i el rellotge com a entrades. Donarà els set càtodes, els quatre ànodes i els tres senyals servo / LED com a sortides. Utilitzarà el xanclet, els segments i els fitxers servo_top com a components i tindrà un commutador intern i un senyal de servo intern.
Pas 10: proves a Vivado
Executeu Synthesis, implementació i escriptura bitsream a Vivado. Si trobeu algun missatge d'error, busqueu la ubicació de l'error i compareu-lo amb el codi indicat. Esmeneu els errors fins que finalitzin correctament totes aquestes execucions.
Pas 11: Creació d'una introducció al maquinari
En aquest pas, crearà el maquinari LED que hem utilitzat en el nostre prototip. Si utilitzeu servos, el projecte hauria d'estar preparat sempre que s'utilitzin els pins correctes. Si feu servir LEDs, seguiu els passos següents.
Pas 12: preparació
Talleu el filferro en sis trossos parells. Tireu els extrems de cada tros de filferro prou perquè es pugui soldar. Separeu els LEDs, resistències i cables en tres grups. Escalfeu el soldador.
Pas 13: soldar
Soldeu cadascun dels resistors de 68 ohms al costat negatiu del LED corresponent. Soldeu un cable al costat positiu del LED i un altre cable al costat de la resistència no soldat al led. Hauríeu de tenir tres dels artefactes LED que es mostren a la imatge anterior.
Pas 14: final
Introduïu cada cable positiu al pin PMOD corresponent i cada negatiu a un pin PMOD de terra. Opcionalment, afegiu contenidors de cartró per representar les papereres i amagueu el vostre embolic de soldadura. Un cop els cables estiguin correctament endollats i el codi es carregui correctament a la placa sense errors, la màquina hauria de funcionar tal com es volia fer. Si alguna cosa va malament, torneu als passos anteriors per solucionar-los. Diverteix-te amb el teu nou "classificador d'escombraries".
Recomanat:
Com codificar un classificador de colors a Modkit per a Vex: 7 passos
Com codificar un classificador de colors a Modkit per a Vex: Hola a tots, en aquest tutorial aprendreu com codificar un classificador de boles de color a Modkit per a VexHope, que el feu i gaudiu. Em plau voteu-me
Feu un classificador de paperera Pi amb ML: 8 passos (amb imatges)
Feu un classificador de paperera Pi amb ML: el projecte Classificador de paperera, conegut afectuosament com a "On va?!", Està dissenyat per llençar les coses amb més rapidesa i fiabilitat. Aquest projecte utilitza un model d'aprenentatge automàtic (ML) format a Lobe, un equip per a principiants (sense codi!)
CPE 133 Projecte Final Decimal a Binari: 5 passos
CPE 133 Projecte final Decimal a Binary: els números binaris són una de les primeres coses que em vénen al cap quan es pensa en lògica digital. Tanmateix, els números binaris poden ser un concepte difícil per a aquells que hi són nous.Aquest projecte ajudarà a aquells que siguin nous i experimentats amb nombres binaris
Paperera de classificació: detecteu i ordeneu la paperera: 9 passos
Paperera classificadora: detecteu i ordeneu les escombraries: heu vist alguna vegada algú que no recicli o ho faci de manera dolenta? Alguna vegada heu desitjat una màquina que us reciclés? Seguiu llegint el nostre projecte, no us en penedireu! Sorter bin és un projecte amb una clara motivació d’ajuda
CPE 133 Metrònom: 3 passos
CPE 133 Metronome: per al nostre projecte final a Cal Poly, vam crear un dispositiu de manteniment del tempo anomenat metrònom, vam triar aquest projecte per un interès musical i de disseny digital. Vam fer servir laboratoris anteriors al CPE 133 per ajudar a dissenyar el nostre codi i tutorials en línia per ajudar-vos a col·laborar