{"id":1994,"date":"2015-08-23T21:08:58","date_gmt":"2015-08-24T02:08:58","guid":{"rendered":"http:\/\/protofusion.org\/wordpress\/?p=1994"},"modified":"2015-08-23T21:10:20","modified_gmt":"2015-08-24T02:10:20","slug":"therm-a-tiny-pid-controller-2","status":"publish","type":"post","link":"http:\/\/protofusion.org\/wordpress\/2015\/08\/therm-a-tiny-pid-controller-2\/","title":{"rendered":"Therm: a Tiny PID Controller"},"content":{"rendered":"<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-1.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1995\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-1-600x400.jpg\" alt=\"Therm PCB top\" width=\"550\" height=\"366\" srcset=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-1-600x400.jpg 600w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-1-300x200.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n<p>Therm is a very small PID controller with an OLED display, thermocouple interface, and USB port. It can switch an external solid-state relay for driving large loads, or a transistor for driving small loads. When attached to a computer, it enumerates as a USB serial port for easy control and logging of data. The design is based around a STM32F0 microcontroller and the MAX31855 thermocouple-to-digital IC (note: an RTD version of therm is in the works).<!--more--><\/p>\n<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-2.jpg\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1996\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-2-600x399.jpg\" alt=\"Therm PCB powered on\" width=\"550\" height=\"365\" srcset=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-2-600x399.jpg 600w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-2-300x199.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n<p>All PID parameters and settings are configurable from the on-screen menu. Therm also has a menu option to reboot to the DFU bootloader so the firmware can be updated without a hardware programming dongle. Currently, therm only supports a single setpoint, but we plan on implementing multiple setpoint support for reflow oven control and other applications in the near future.<\/p>\n<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-3.jpg\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1997\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-3-600x400.jpg\" alt=\"Therm PCB bottom\" width=\"550\" height=\"366\" srcset=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-3-600x400.jpg 600w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2014\/08\/therm-3-300x200.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><br \/>\nTherm has screw terminals to connect power input (up to 12v), a solid-state relay, and a thermocouple. Pads on the bottom of the board expose the SWD interface for debugging and programming in a fixture or with a <a href=\"http:\/\/protofusion.org\/wordpress\/2013\/05\/open-hardware-pogo-pin-programmer\/\">PogoProg<\/a> adapter.<\/p>\n<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2015\/08\/IMG_20141010_120416553_HDR.jpg\" data-rel=\"lightbox-image-3\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2251\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2015\/08\/IMG_20141010_120416553_HDR-600x338.jpg\" alt=\"IMG_20141010_120416553_HDR\" width=\"550\" height=\"310\" srcset=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2015\/08\/IMG_20141010_120416553_HDR-600x338.jpg 600w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2015\/08\/IMG_20141010_120416553_HDR-300x169.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><br \/>\nWhile all the core features of therm are complete, some have yet to be implemented (namely saving settings to non-volatile memory and setpoint control over USB). In the coming months we plan on cleaning up the firmware, finishing up the missing features, as well as performing some extensive testing on our latest hardware spin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Therm is a very small PID controller with an OLED display, thermocouple interface, and USB port. It can switch an external solid-state relay for driving large loads, or a transistor for driving small loads. When attached to a computer, it<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"http:\/\/protofusion.org\/wordpress\/2015\/08\/therm-a-tiny-pid-controller-2\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"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":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[35,262],"tags":[95,227,263,264,228],"class_list":["post-1994","post","type-post","status-publish","format-standard","hentry","category-projects","category-therm","tag-pid","tag-pid-controller","tag-stm32","tag-stm32f0","tag-therm"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pNjAs-wa","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/posts\/1994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/comments?post=1994"}],"version-history":[{"count":13,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/posts\/1994\/revisions"}],"predecessor-version":[{"id":2258,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/posts\/1994\/revisions\/2258"}],"wp:attachment":[{"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/media?parent=1994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/categories?post=1994"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/tags?post=1994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}