Scop: participarea la Robochallenge, la proba de fotbal.
Responsabilitățile studenților din echipa de la concurs:
1. Bărbulescu Mihai 331CA - modulele electronice (schematic, PCB design, debugging)
2. Cătuneanu Mircea 333AB - mecanica + asamblare
3. Stratulat Adrian 331CA - cod OpenCV pe RaspberryPI (procesarea imaginilor)
4. Traistă-Popescu Vlad 331CA - cod Atmega (recepția serială, preluarea informațiilor de la senzori, deciziile trimise către motoare etc.)
Regulile pentru implementarea robotului:
Mai multe detalii despre regulament pe pagina oficiala
Detalii schemă bloc:
Pentru prima versiune fiecare modul din schema bloc chiar a fost realizat pe câte o plăcuță cu fotorezist (vezi aici un tutorial cu realizarea de cablaje cu fotorezist), iar legăturile au fost realizate cu cablu panglică.
Drivere de motoare | Link |
---|---|
2 x NCV7729 | http://ro.farnell.com/on-semiconductor/ncv7729bppr2g/motor-driver-h-bridge-8a-20psop/dp/1924923 |
1 x L298P | http://ro.farnell.com/stmicroelectronics/l298n/ic-bridge-driver-dual-298/dp/403295 |
Senzori | Link |
---|---|
2 x Sharp | http://ro.farnell.com/sharp/gp2d120xj00f/sensor-distance-analogue-o-p/dp/9707859 |
1 x senzor de teren | http://www.pololu.com/catalog/product/958 |
1 x Webcam Genius | http://www.emag.ro/camera-web-genius-facecam-320x-g-32200013100/pd/E8DJKBBBM/?ref=vp_ap_sim |
Mecanice | Link |
---|---|
Tablă | găsită în laborator |
Coolere | de la calculatoare vechi |
2 x Motoare pentru roți | http://www.robofun.ro/mecanice/motoare/motoare_pololu_metalice_37Dx52L_29:1 |
Roți | găsite în laborator |
Motor pentru prindere mingi | luat dintr-o imprimantă veche |
Alte componente | Link |
---|---|
Raspberry PI | Orientativ: http://conexelectronic.ro/produs.php?id=138610 |
Placa PM | http://cs.curs.pub.ro/wiki/pm/cablaj/proiect2013 |
1 x 74HCT245 | http://www.syscomelco.ro/ProdusDetaliu.asp?ID=1747 |
2 x LM324 | http://www.syscomelco.ro/ProdusDetaliu.asp?ID=684 |
Diode Schottky 5A | http://ro.farnell.com/taiwan-semiconductor/sk54c/diode-schottky-5a-40v-smc/dp/1299291RL |
Diode 1n4007, 1n5819 | |
Led-uri | |
Acumulator LiPo | http://sierra.ro/Acumulator-LiPo-GENS-ACE-11-1-V--1000-mA--25C-p5027p.html |
Fig 1: Driverul NCV7729 cu protectie. “Firele amestecate” de la JP1 sunt așa doar pentru că a fost mai ușor de făcut PCB-ul, însă nu a fost o idee bună.
Fig 2: Driverul L298 cu protecție la supracurent dar și la supratensiuni. Mai multe detalii pot fi găsite aici. Cablajul a fost modificat față de cel inițial pentru a ne putea încadra în dimensiuni
Fig 3: Montaj pentru compararea unei tensiuni (Vin) cu o referință aleasă (Vref) pentru a obține un nivel logic, în funcție de rezultatul input versus referință. De obicei nivelele logice sunt: HIGH, dacă Vin > Vref și LOW altfel. Vref se reglează din potențiometru.
Fig 4: Pinout 74HCT245, buffer bidirecțional. Pentru a fi unidercțional am ales să legăm OE\ la GND și DIR la Vcc. Intrarea era astfel A la care se leagă Raspberry PI și ieșirea e B, unde legam Atmega.
Procesarea imaginilor a fost realizată cu ajutorul webcam-ului pe Raspberry PI, folosind OpenCV. Sarcina principală a acestuia este să trimită celui care ia deciziile finale informații despre poziția mingilor detectate în teren.
Atmega este cel care ia deciziile pe baza a ceea ce vedeau senzorii. Datele de la Raspberry PI cu privire la pozițiile mingilor în teren sunt recepționate pe serială și Atmega poate alege să ignore aceste informații dacă există un pericol (spre exemplu: a detectat obstacol sau poate faulta adversarul, care poate însemna depunctare, dacă se duce după mingea de care tocmai i s-a spus).
De asemenea, trebuie configurat un timer care sa contorizeze câte secunde au trecut de la pornire, din următoarele considerente:
Watch 24 april 2013 RoboChallenge - Robo Fotbal in Tech & Gaming | View More Free Videos Online at Veoh.com
Înregistrări complete ale concursului Robochallenge 2013, ajuns la a șasea ediție, puteți găsi aici.
Ne-om fi calificat noi la etapa națională, dar vara asta trebuie să tragem tare pentru a îl îmbunătăți. Dacă sunteți interesați să contribuiți la îmbunătățirea lui sau pur și simplu să vă învățați să vă construiți un robot pentru concursuri sau un proiect al vostru, dați un semn!
Datasheets
Atmega324PA
NCV7729-D
L298P
74HCT245
LM324N
LM7805
Software
Online OpenCV documentation
Conversia RGB to HSV în OpenCV, care a fost foarte utilă în detectarea mai corectă a mingilor
Laboratoarele 2 și 3 de PM
AVR general IO defs - foarte utile (dar trebuie folosite cu atenție!) dacă vrei să scrii un cod pentru un proiect cu un anumit hardware și vrei ulterior să modifici design-ul.
Răzvan Tătăroiu (pentru ajutor și pentru suportul moral dinaintea concursului )
Cristian Dumitru Trancă (pentru Raspberry PI și ajutor)
Centrului INGEAR ,