{"id":267,"date":"2009-03-09T03:37:34","date_gmt":"2009-03-09T00:37:34","guid":{"rendered":"http:\/\/yeti.albascout.ro\/blog\/?p=267"},"modified":"2009-03-09T03:37:34","modified_gmt":"2009-03-09T00:37:34","slug":"roboteala","status":"publish","type":"post","link":"https:\/\/yeti.albascout.ro\/blog\/roboteala\/","title":{"rendered":"Roboteal\u0103"},"content":{"rendered":"<p>Una din ocupa\u021biile mele de la facultate este s\u0103 robotesc. Adic\u0103 s\u0103 construiesc robo\u021bi, \u00een special autonomi (mai multe informa\u021bii despre grupul nostru de roboti\u0219ti aici). Ultimele 3 s\u0103pt\u0103m\u00e2ni m-am luptat cu fel \u0219i fel de probleme la unul din robo\u021bii pe care \u00eei avem la laborator, \u0219i, de\u0219i \u00eenc\u0103 nu am reu\u0219it s\u0103 rezolv toate problemele, am \u00eenv\u0103\u021bat o gr\u0103mad\u0103 de lucruri \u00een proces. Eu n-am reu\u0219it niciodata \u00een cele 5 &#8211; 6 materii cu \u0219i despre electronic\u0103 din facultate s\u0103 \u00een\u021beleg cum func\u021bioneaz\u0103 tr\u0103zn\u0103ile alea de pe-acolo, dar acum, cu ajutorul domnului profesor V\u00e2rb\u0103nescu (aka <em>profu&#8217;<\/em>) \u0219i cu \u201eajutorul\u201d problemelor cu robotul cu care lucrez, am \u00een\u021beles \u0219i eu \u00een sf\u00e2r\u0219it ce-i aia o punte H, cum merge un tranzistor (\u00een mare), cum func\u021bioneaz\u0103 MOSFET-urile, s\u0103 m\u0103 joc cu osciloscopul, faptul c\u0103 trebuie o mas\u0103 comun\u0103 \u00eentre diferite aliment\u0103ri (care e destul de LMCu, dar dac\u0103-l ui\u021bi \u00eei bai)&#8230;<\/p>\n<p>Robotul \u0103sta, care n-are \u00eenc\u0103 un nume (altul dec\u00e2t <em>robotu&#8217; mare<\/em>) este o ma\u0219inu\u021b\u0103 cu 4 ro\u021bi \u0219i cu control al direc\u021biei ca la ma\u0219in\u0103 (cu diferen\u021bial \u0219i direc\u021bie pe fa\u021b\u0103), \u0219i are dou\u0103 motoare, unul care angreneaz\u0103 toate 4 ro\u021bile \u0219i unul care comand\u0103 unghiul la care se \u00eentorc ro\u021bile. Partea de control este f\u0103cut\u0103 cu o plac\u0103 destul de de\u0219teapt\u0103, pe nume PMS5005 de la Dr. Robot, care printre alte dr\u0103covenii are un adaptor serial to 802.11 (wireless) ceea ce \u00eenseamn\u0103 c\u0103 poate comunica pe WiFi cu un calculator. De fapt, placa e g\u00e2ndit\u0103 s\u0103 aib\u0103 logica separat (pe un computer) \u0219i ea se ocup\u0103 strict cu controlul \u0219i cu primirea feedback-ului de la senzori (nu e programabil\u0103).<\/p>\n<p>P\u00e2n\u0103 acum, etapele pe care le-am ispr\u0103vit au fost:<\/p>\n<ul>\n<li>determinat cum func\u021bioneaz\u0103 modulul serial to 802.11<\/li>\n<li>configurat 802.11 pentru ad-hoc cu laptop-ul meu<\/li>\n<li>determinat c\u0103 softul de la plac\u0103 nu func\u021bioneaz\u0103 la mine pe comp nici dup\u0103 update de firmware<\/li>\n<li>sniffuit pachete, determinat c\u0103 de fapt placa func\u021bioneaz\u0103 corect, softu nu<\/li>\n<li>cerut \u0219i primit documenta\u021bie despre protocolul de comunica\u021bie al pl\u0103cii de la Dr. Robot<\/li>\n<li>implementat protocolul \u00een Java \u00eentr-o form\u0103 barbar\u0103<\/li>\n<li>testat servo motorul pentru direc\u021bie<\/li>\n<li>ars servo motorul pentru direc\u021bie<\/li>\n<li>comandat servo nou pentru direc\u021bie<\/li>\n<li>stabilit c\u0103 servo s-a ars din lipsa de mas\u0103 comun\u0103<\/li>\n<li>instalat servo nou, testat c\u0103 func\u021bioneaz\u0103<\/li>\n<li>reparat servo vechi (aici eu am avut contribu\u021bie minim\u0103 :)<\/li>\n<li>refactorizat \u0219i rearanjat implementarea protocolului, mutat partea de conexiune \u00eentr-un layer inferior, implementat pentru serial \u0219i pentru wifi<\/li>\n<li>\u00eencercat conexiune prin rfcomm0 (bluetooth), stricat placa mea veche pentru bluetooth<\/li>\n<li>configurat 802.11 pentru infrastructure (finally!)<\/li>\n<li>testat modul control motor mare<\/li>\n<li>ars surs\u0103 de calculator (prea pu\u021bin curent)<\/li>\n<li>multe teste \u0219i demont\u0103ri pentru stabilirea curentului necesar motorului mare<\/li>\n<li>reu\u0219it comand\u0103 PWM motor mare<\/li>\n<li>determinat c\u0103 controllerul de motor are un maxim de 5A (peak)<\/li>\n<li>determinat c\u0103 controllerul de motor fierbe \u0219i sub 5A<\/li>\n<li>renun\u021bat la ideea de a folosi controllerul de motor<\/li>\n<li>petrecut o s\u0103pt\u0103m\u00e2n\u0103 citind despre punte H, \u00eenv\u0103\u021bat mult despre tranzistori<\/li>\n<li>realizat surs\u0103 comun\u0103 de alimentare pentru toate intr\u0103rile pl\u0103cii de control (6V, 5V, 9\/12V)<\/li>\n<li>implementat solu\u021bie poart\u0103 H varianta profu (darlington + relee, 8A max), \u00eencercarea 1 (merge)<\/li>\n<li>decis c\u0103 \u00eencercarea 1 e prea mare ca \u0219i suprafa\u021b\u0103, implementat \u00eencercarea 2, cu sursa comun\u0103 de alimentare \u0218I punte H pe aceea\u0219i plac\u0103<\/li>\n<li>determinat c\u0103 sub sarcin\u0103 sursa de 6V fierbe<\/li>\n<li>ars un tranzistor<\/li>\n<li>ars un releu<\/li>\n<li>ars alt releu<\/li>\n<li>\u00eenv\u0103\u021bat c\u0103 rating-urile maxime de curent din documenta\u021bie sunt pentru r\u0103cire eficient\u0103 (nu ce f\u0103ceam eu)<\/li>\n<li>f\u0103cut radiatoare din aluminiu (bonfaier + borma\u0219in\u0103, mersi Adi)<\/li>\n<li>f\u0103cut cabluri de conectare (ATMega c\u0103tre puntea H, PMS5005 c\u0103tre ATMega)<\/li>\n<li>testat super plac\u0103 pe robot, determinat c\u0103 nu prime\u0219te suficient curent \u0219i merge bleg<\/li>\n<li>consulare de ora 12 cu dl. profesor, micit rezisten\u021ba dintre +Vbatt \u0219i baza Darlingtonului la jumate, ad\u0103ugat radiator barbar pe Darlington (regul\u0103 empiric\u0103 &#8211; dac\u0103 are carcas\u0103 TO220 &#8211; de-aia cu \u0219urub &#8211; o s\u0103-i trebuiasc\u0103 radiator)<\/li>\n<li>testat super plac\u0103 modificat\u0103 pe robot, determinat\u0103 ca merge mai bine, dar tot prea bleg<\/li>\n<\/ul>\n<p>De fapt, robotul \u0103sta trebuie s\u0103 poat\u0103 s\u0103 recunoasc\u0103 \u0219i s\u0103 ocoleasc\u0103 obstacole, s\u0103 ias\u0103 dintr-un labirint, s\u0103 nu se bage \u00een pere\u021bi \u0219i, eventual, la un moment dat s\u0103 devin\u0103 ceva mai interesant cum ar fi proiectul meu de diplom\u0103. Mai avem p\u00e2n\u0103 acolo :)<\/p>\n<p>Azi am f\u0103cut \u0219i c\u00e2teva poze bestiei:<\/p>\n<figure id=\"attachment_268\" aria-describedby=\"caption-attachment-268\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/yeti.albascout.ro\/blog\/wp-content\/uploads\/2009\/03\/dscn0136.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-268\" title=\"dscn0136\" src=\"http:\/\/yeti.albascout.ro\/blog\/wp-content\/uploads\/2009\/03\/dscn0136-300x168.jpg\" alt=\"Poz\u0103 ca la ma\u0219ini :)\" width=\"300\" height=\"168\" \/><\/a><figcaption id=\"caption-attachment-268\" class=\"wp-caption-text\">Poz\u0103 ca la ma\u0219ini :)<\/figcaption><\/figure>\n<figure id=\"attachment_270\" aria-describedby=\"caption-attachment-270\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/yeti.albascout.ro\/blog\/wp-content\/uploads\/2009\/03\/dscn0140.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-270\" title=\"dscn0140\" src=\"http:\/\/yeti.albascout.ro\/blog\/wp-content\/uploads\/2009\/03\/dscn0140-300x168.jpg\" alt=\"Drept dintre ochi\" width=\"300\" height=\"168\" \/><\/a><figcaption id=\"caption-attachment-270\" class=\"wp-caption-text\">Drept dintre ochi<\/figcaption><\/figure>\n<figure id=\"attachment_269\" aria-describedby=\"caption-attachment-269\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/yeti.albascout.ro\/blog\/wp-content\/uploads\/2009\/03\/dscn0138.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-269\" title=\"dscn0138\" src=\"http:\/\/yeti.albascout.ro\/blog\/wp-content\/uploads\/2009\/03\/dscn0138-300x168.jpg\" alt=\"Punte H + surse de alimentare (check out radiatoarele de pe o plac\u0103 de baz\u0103 :P)\" width=\"300\" height=\"168\" \/><\/a><figcaption id=\"caption-attachment-269\" class=\"wp-caption-text\">Punte H + surse de alimentare (check out radiatoarele de pe o plac\u0103 de baz\u0103 :P)<\/figcaption><\/figure>\n<figure id=\"attachment_271\" aria-describedby=\"caption-attachment-271\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/yeti.albascout.ro\/blog\/wp-content\/uploads\/2009\/03\/dscn0142.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-271\" title=\"dscn0142\" src=\"http:\/\/yeti.albascout.ro\/blog\/wp-content\/uploads\/2009\/03\/dscn0142-300x168.jpg\" alt=\"Un ATMega32 lipit cu scotch :P\" width=\"300\" height=\"168\" \/><\/a><figcaption id=\"caption-attachment-271\" class=\"wp-caption-text\">Un ATMega32 lipit cu scotch :P<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Una din ocupa\u021biile mele de la facultate este s\u0103 robotesc. Adic\u0103 s\u0103 construiesc robo\u021bi, \u00een special autonomi (mai multe informa\u021bii despre grupul nostru de roboti\u0219ti aici). Ultimele 3 s\u0103pt\u0103m\u00e2ni m-am luptat cu fel \u0219i fel de probleme la unul din robo\u021bii pe care \u00eei avem la laborator, \u0219i, de\u0219i \u00eenc\u0103 nu am reu\u0219it s\u0103 rezolv &hellip; <a href=\"https:\/\/yeti.albascout.ro\/blog\/roboteala\/\" class=\"more-link\">Continu\u0103 s\u0103 cite\u0219ti <span class=\"screen-reader-text\">Roboteal\u0103<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[564,557],"tags":[727,614,695],"class_list":["post-267","post","type-post","status-publish","format-standard","hentry","category-roboti","category-facultate","tag-cs-pub","tag-ed304","tag-robot"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/posts\/267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/comments?post=267"}],"version-history":[{"count":0,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/posts\/267\/revisions"}],"wp:attachment":[{"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/media?parent=267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/categories?post=267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yeti.albascout.ro\/blog\/wp-json\/wp\/v2\/tags?post=267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}