Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
pcbgreycode [2019/01/17 15:28] – yair | pcbgreycode [2019/02/10 22:58] – yair |
---|
===8 BIT turntable=== | a turntable embedded on a PCB, a silkscreen on a round PCB to encode the position using [[#gray_code]] |
| |
| {{:video-1547726867.mp4}} {{youtube>em2OpwheHMU?medium}} {{:20190208_151040.mp4|}} |
a turntable embedded on a PCB | |
| |
[[https://github.com/idiot-io/turntablePCB|github]] | |
| |
{{:video-1547726867.mp4}} | |
| |
{{:v1.3.jpg?400}} {{:50533102_325584924718706_62649425226366976_n.jpg?400}} | {{:v1.3.jpg?400}} {{:50533102_325584924718706_62649425226366976_n.jpg?400}} |
| |
| [[https://github.com/idiot-io/turntablePCB|github]] repository |
| |
| |
{{youtube>em2OpwheHMU?medium}} | === tools used === |
| |
====Layout==== | [[https://inkscape.org|inkscape]]\\ |
| extensions |
| *[[https://github.com/badgeek/svg2shenzhen|svg2shenzhen]] |
| *[[https://github.com/Hyvok/Inkscape-rotary-encoder-disk-generator|rotary encoder generator]] |
| |
{{https://i.imgur.com/jlaOwRV.png|Honey bee counter II}} | [[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]] |
| |
[[http://gunook.com/honigbienenzahler-ii|Honey bee counter II]] | ===Layout=== |
| {{:pasted:20190122-211551.png}} |
| |
====encoding==== | |
| |
===gray encoding=== | |
| |
using something like an array of reflective IR sensors | |
| |
{{https://i.imgur.com/LRRg0W9.png}} | a few guides and approches |
| *https://www.pololu.com/docs/0J13/2 |
{{https://i.imgur.com/KrapStk.png}} | *[[http://gunook.com/honigbienenzahler-ii|Honey bee counter II]] |
| *https://cdn.sparkfun.com/datasheets/Sensors/Infrared/SparkFun%20Line%20Follower%20Array_v10.pdf |
| |
| |
===Gray code=== | ===Gray code=== |
| [[http://en.wikipedia.org/wiki/Gray_code|wikipedia]]\\ |
| |
a silkscreen on the round PCB bottom to encode the position using [[http://en.wikipedia.org/wiki/Gray_code|gray code]] | <blockquote>{{youtube>IeWcvAsz88o?medium}} |
| <cite>"to get a gray number only change one bit"</cite> |
| </blockquote> |
| |
*generator #1 [[http://engineering.olkha.com/gray|online]] | <blockquote>{{:pasted:20190122-192340.png}} |
*generator #2 [[https://github.com/Hyvok/Inkscape-rotary-encoder-disk-generator|inkscape]] | <cite>http://datagenetics.com/blog/november32014/</cite> |
| </blockquote> |
| |
{{youtube>oc5hIxdCMZ0?medium}} {{youtube>IeWcvAsz88o?medium}} | {{:greycode.png}} {{https://i.imgur.com/DbMB6Vvm.png}} |
| |
| |
“to get a gray number only change one bit” | |
| |
{{https://d2mxuefqeaa7sj.cloudfront.net/s_C3F26DA1DE2735AB305F4004085FAFE353789C4AD8CC62A80295D78BF90BFD02_1531819410575_image.png|https://www.quora.com/What-is-the-difference-between-binary-numbers-and-Grays-code}} | |
| |
{{https://i.imgur.com/DbMB6Vv.png}} | |
| |
https://www.semanticscholar.org/paper/Design-of-absolute-encoder-disk-coding-based-on-n-Paul-Chang | |
| |
| |
===components=== | ===components=== |
*QRE111 - [[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]] | *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/4fpaVVj.png}} | {{https://i.imgur.com/oE29h9I.png}} {{https://i.imgur.com/82dWTnM.png}} \\ |
| {{https://i.imgur.com/4fpaVVjl.png}} {{https://i.imgur.com/5jFBp8gl.png}} |
| |
| |
{{https://i.imgur.com/5jFBp8g.png}} | ====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]] |
| |
a few approaches on the hookup | ===magnetic=== |
*https://cdn.sparkfun.com/datasheets/Sensors/Infrared/SparkFun%20Line%20Follower%20Array_v10.pdf | [[http://www.ichaus.de/upload/pdf/WP6en_Magnetic_vs_optical_17092012.pdf|Magnetic_vs_optical]] |
*https://www.pololu.com/docs/0J13/2 | |
| |
===DC motor=== | ===DC motor=== |
| |
simply connecting a dc motor to the spinning disk\\ | simply connecting a dc motor to the spinning disk\\ |
by rotating the disk you convert the energy to analog input for MCU or whatever\\ | by rotating the disk you convert the energy to analog input for MCU or whatever\\ |
* [[https://wemakethings.net/2013/02/18/steppers-as-rotary-encoders/|steppers-as-rotary-encoders]] | * [[https://wemakethings.net/2013/02/18/steppers-as-rotary-encoders/|steppers-as-rotary-encoders]] |
* [[http://www.4qdtec.com/stpen.html|stpen]] | * [[http://www.4qdtec.com/stpen.html|stpen]] |
| |
| |
| |
| |