{"id":7840,"date":"2013-09-10T11:42:07","date_gmt":"2013-09-10T15:42:07","guid":{"rendered":"http:\/\/embedded-lab.com\/blog\/?p=7840"},"modified":"2013-09-10T11:42:07","modified_gmt":"2013-09-10T15:42:07","slug":"making-a-smart-i2c-dc-motor-controller","status":"publish","type":"post","link":"https:\/\/embedded-lab.com\/blog\/making-a-smart-i2c-dc-motor-controller\/","title":{"rendered":"Making a smart I2C DC motor controller"},"content":{"rendered":"<p>A full-fledged DC motor controlling application requires a lot of I\/O resources and MCU time. This project is about making a <strong><a href=\"http:\/\/www.ermicro.com\/blog\/?p=2370\" target=\"_blank\">dedicated DC motor controller<\/a><\/strong>that would release the main microcontroller from this duty so that it could do other important tasks more efficiently. The controller uses Atmega168 as a slave I2C device that receives commands from a host MCU through I2C signal lines, and controls two DC motors using the L293D high-current H-driver chip.\u00a0Separate PWM signals are used for each motor to achieve precise motor steering. The built-in motor steering library routines makes the motor control much easier.<\/p>\n<div id=\"attachment_7841\" style=\"width: 575px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2013\/09\/SmartDCmotorcontrol.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7841\" class=\"size-full wp-image-7841\" title=\"SmartDCmotorcontrol\" src=\"http:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2013\/09\/SmartDCmotorcontrol.jpg\" alt=\"\" width=\"565\" height=\"444\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2013\/09\/SmartDCmotorcontrol.jpg 565w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2013\/09\/SmartDCmotorcontrol-550x432.jpg 550w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/a><p id=\"caption-attachment-7841\" class=\"wp-caption-text\">Smart DC motor controller with I2C interface<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>A full-fledged DC motor controlling application requires a lot of I\/O resources and MCU time. This project is about making a dedicated DC motor controllerthat would release the main microcontroller from this duty so that it could do other important tasks more efficiently. The controller uses Atmega168 as a slave I2C device that receives commands from a host MCU through I2C signal lines, and controls two DC motors using the L293D high-current H-driver chip.\u00a0Separate PWM signals are used for each motor to achieve precise motor steering. The built-in motor steering library routines makes the motor control much easier.<\/p>\n","protected":false},"author":1,"featured_media":7841,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[227],"tags":[139,641,642,419],"class_list":["post-7840","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-atmega168","tag-i2c-motor-control","tag-l293d","tag-servo-control"],"_links":{"self":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/7840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/comments?post=7840"}],"version-history":[{"count":1,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/7840\/revisions"}],"predecessor-version":[{"id":7842,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/7840\/revisions\/7842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/media\/7841"}],"wp:attachment":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/media?parent=7840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/categories?post=7840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/tags?post=7840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}