Both sides previous revision Previous revision Next revision | Previous revision |
pcbgreycode [2018/11/28 16:07] – yair | pcbgreycode [2019/06/01 11:56] (current) – yair |
---|
{{ https://i.imgur.com/LRRg0W9.png}} | a turntable embedded on a PCB, a silkscreen on a round PCB to encode the position using [[#gray_code]] |
| |
<html> | {{:video-1547726867.mp4}} {{youtube>em2OpwheHMU?medium}} {{:20190208_151040.mp4|}} {{::turntablepcb-v4-zofzpcb.mp4|using www.zofzpcb.com on archLinux/wine}} |
<h1>8BIT turntable</h1> | {{:v1.3.jpg?400}} {{:50533102_325584924718706_62649425226366976_n.jpg?400}} |
<br> | |
https://i.imgur.com/u1XNz9t.png | |
<br> | |
| |
<p>a turntable embedded on a PCB</p> | [[https://github.com/idiot-io/turntablePCB|github]] repository |
| |
| |
<p>https://www.youtube.com/watch?v=em2OpwheHMU&</p> | === tools used === |
| |
<h2>Layout</h2> | [[https://inkscape.org|inkscape]]\\ |
| extensions |
| *[[https://github.com/badgeek/svg2shenzhen|svg2shenzhen]] |
| *[[https://github.com/Hyvok/Inkscape-rotary-encoder-disk-generator|rotary encoder generator]] |
| |
<p><img src="https://i.imgur.com/jlaOwRV.png" alt="http://gunook.com/honigbienenzahler-ii/" title="" /></p> | [[https://kicad.org|kicad]] |
| *[[https://github.com/idiot-io/turntablePCB/blob/master/board/kicad_gerber_gen.py|python script example to create plot files to build a board]] |
| |
<h1>encoding</h1> | ===Layout=== |
| [[https://www.pololu.com/docs/0J13/2|digital]] \\ |
| {{:pasted:20190122-211551.png}} |
| |
<h2>gray encoding</h2> | [[https://www.pololu.com/docs/0J13/3|analog]] \\ |
| {{:pasted:20190601-085501.png}} |
| |
<p>using something like an array of reflective IR sensors </p> | |
| |
<p><img src="https://i.imgur.com/KrapStk.png" alt="qtr-8" title="" /></p> | a few guides and approaches |
| |
<p><strong>components</strong></p> | *[[http://gunook.com/honigbienenzahler-ii|Honey bee counter II]] |
| *https://cdn.sparkfun.com/datasheets/Sensors/Infrared/SparkFun%20Line%20Follower%20Array_v10.pdf |
| |
<ul> | |
<li>QRE111 - <a href="http://www.onsemi.com/pub/Collateral/QRE1113-D.PDF">datasheet</a>, <a href="https://www.aliexpress.com/item/50pcs-lot-QRE1113GR-QRE1113-QRE1113G-SMD4-Original-authentic-and-new-in-stock-Free-Shipping-IC/32841727674.html">aliExp</a> | |
<img src="https://i.imgur.com/4fpaVVj.png" alt="QRE111" title="" /></li> | |
</ul> | |
| |
<p><img src="https://i.imgur.com/5jFBp8g.png" alt="" title="" /></p> | ===Gray code=== |
| [[http://en.wikipedia.org/wiki/Gray_code|wikipedia]]\\ |
| |
<p>a few approaches on the hookup | <blockquote>{{youtube>IeWcvAsz88o?medium}} |
https://cdn.sparkfun.com/datasheets/Sensors/Infrared/SparkFun%20Line%20Follower%20Array_v10.pdf</p> | <cite>"to get a gray number only change one bit"</cite> |
| </blockquote> |
| |
<p>https://www.pololu.com/docs/0J13/2</p> | <blockquote>{{:pasted:20190122-192340.png}} |
| <cite>http://datagenetics.com/blog/november32014/</cite> |
| </blockquote> |
| |
<h2>Gray code</h2> | {{:greycode.png}} {{https://i.imgur.com/DbMB6Vvm.png}} |
| |
<p>a silkscreen on the round PCB bottom to encode the position using <a href="http://en.wikipedia.org/wiki/Gray_code">gray code</a></p> | |
| |
<p>generator #1 <a href="http://engineering.olkha.com/gray/">online</a> | ===components=== |
generator #2 <a href="https://github.com/Hyvok/Inkscape-rotary-encoder-disk-generator">inkscape</a></p> | *QRE1113 - [[http://www.onsemi.com/pub/Collateral/QRE1113-D.PDF|datasheet]], [[https://www.aliexpress.com/item/50pcs-lot-QRE1113GR-QRE1113-QRE1113G-SMD4-Original-authentic-and-new-in-stock-Free-Shipping-IC/32841727674.html|aliExp]] |
| {{https://i.imgur.com/oE29h9I.png}} {{https://i.imgur.com/82dWTnM.png}} \\ |
| {{https://i.imgur.com/4fpaVVjl.png}} {{https://i.imgur.com/5jFBp8gl.png}} |
| |
<p>https://www.youtube.com/watch?v=oc5hIxdCMZ0&</p> | |
| |
<p>https://www.youtube.com/watch?v=JwU<em>DrI</em>Mmc&</p> | ====other methods==== |
| the following are for reference |
| ===LED as light Sensor=== |
| no word regarding detection speed |
| *[[https://wiki.analog.com/university/courses/electronics/electronics-lab-led-sensor|analog.com]] |
| *[[https://makezine.com/projects/make-36-boards/how-to-use-leds-to-detect-light/|makezine]] |
| |
<p>https://www.youtube.com/watch?v=IeWcvAsz88o&</p> | ===magnetic=== |
| [[http://www.ichaus.de/upload/pdf/WP6en_Magnetic_vs_optical_17092012.pdf|Magnetic_vs_optical]] |
| |
<p>“to get a gray number only change one bit”</p> | ===DC motor=== |
| simply connecting a dc motor to the spinning disk\\ |
| by rotating the disk you convert the energy to analog input for MCU or whatever\\ |
| problem with this approach it will not give enough output at slow speeds. so probably scratch that. |
| |
<p><img src="https://d2mxuefqeaa7sj.cloudfront.net/s_C3F26DA1DE2735AB305F4004085FAFE353789C4AD8CC62A80295D78BF90BFD02_1531819410575_image.png" alt="https://www.quora.com/What-is-the-difference-between-binary-numbers-and-Grays-code" title="" /></p> | ===Stepper motor=== |
| |
<p><img src="https://i.imgur.com/DbMB6Vv.png" alt="https://www.semanticscholar.org/paper/Design-of-absolute-encoder-disk-coding-based-on-n-Paul-Chang/" title="" /></p> | same as with the DC motor, you connect the motor to the disks center, then hook the stepper winding A1/2,B1/2 to an MCU, you get a nice stepping encoder. |
| |
<h2>DC motor</h2> | following links are actually to use the sinusoidal wave of the stepper, a bit of a different approach\\ |
| also a problem at low speeds. |
| |
| * [[https://wemakethings.net/2013/02/18/steppers-as-rotary-encoders/|steppers-as-rotary-encoders]] |
| * [[http://www.4qdtec.com/stpen.html|stpen]] |
| |
<p>simply connecting a dc motor to the spining disk | |
by rotating the disk you convert the enregy to analog input for MCU or whatever | |
problem with this approach it will not give enough output at slow speeds. so probably scratch that.</p> | |
| |
<h2>Stepper motor</h2> | |
| |
<p>same as with the DC motor, you connect the motor to the disks center, then hook the stepper winding A1/2,B1/2 to an MCU, you get a nice stepping encoder. </p> | |
| |
<p>following links are actually to use the sinusoidal wave of the stepper, a bit of a different approach | |
also a problem at low speeds. | |
https://wemakethings.net/2013/02/18/steppers-as-rotary-encoders/ | |
http://www.4qdtec.com/stpen.html</p> | |
</html> | |