Close
0%
0%

Volumetric POV Display

A 3D rotational persistence of vision display

Similar projects worth following
A previous project of mine was a 6x6x6 led cube, and while I was pretty happy with the way it came out, I thought a display with more resolution would be cooler. However, the exponential increase in effort required to construct a larger in constructing a larger LED cube put me off on the idea.

Making a rotational display like this seemed like a good way of getting the extra resolution I wanted, without having to spend lots of effort soldering hundreds of leds. So it felt like a good project to take on.

- The effective display area is 60x8x6 "pixels"

- The display uses apa102-2020 addressable LEDs. There are 8 LEDs on each of the 6 blades used to make the display area.
- I'm using an atsamd21g18 microcontroller to drive the LEDs and run all the animations. I had originally started with an atmega328p while I was prototyping, but it wasn't fast enough to keep up as I scaled up to the final design. The microcontroller and control board both rotate along with the LED boards.
- A hall effect sensor on the control board is used with a magnet mounted to the enclosure to measure the rotational speed of the display, and used as a point of reference to stabilize the image being displayed.
- Inductive coils are used to transfer power from the stationary base to the rotating LEDs and control board. I used these ones from adafruit: https://www.adafruit.com/product/1407 
- I'm using an arduino nano, with a simple motor driver to control the brushed motor that spins the display. I'm currently just using a potentiometer to set the speed of the motor

The code is still very much a work in progress, but it can be found here:
https://github.com/Jamal-Ra-Davis/pov_display

MPEG-4 Video - 48.52 MB - 06/27/2018 at 03:25

Download

MPEG-4 Video - 27.22 MB - 06/27/2018 at 03:24

Download

MPEG-4 Video - 43.89 MB - 06/27/2018 at 03:23

Download

MPEG-4 Video - 37.18 MB - 06/27/2018 at 03:20

Download

Portable Network Graphics (PNG) - 765.49 kB - 06/27/2018 at 03:12

Preview
Download

View all 11 files

  • 48 × APA102-2020 Dotstart Addressable LEDs. 6 strips of 8 leds are used to make up the display area.
  • 1 × atsamd21g18 32-bit Microcontroller used to drive/control leds, in addition to any logic the display needs.
  • 1 × Inductive charging coil pair Used to transfer power to the rotating components
  • 1 × Hall Effect Sensor (DRV5033) Used to sync display and keep image stable
  • 1 × Brushed DC motor Used to actually spin the display. Targeting refresh rate of 30Hz, so motor needs to run up to at least 1800 RPM, and have enough torque to spin all the components.

View all 8 components

  • Getting back to work

    Jamal-Ra-Davis06/07/2019 at 19:48 0 comments

      Getting back to work on this project after a very long break. Major issues left that I want to address are:

      1. Adding control method to interact with display while it's running
        1. Description: Currently the only way of interacting with the display is to flash the firmware, there is no way of interacting with it while it is running. Addressing this issue allows for interactivity with the display, and opens the possibility for simple applications or games to run on the display.
        2. Planned Fixes: Update control board to integrate HM-11 bluetooth module, and develop simple android application which can send data to display
      2. Address screen jitter issue
        1. Description: In it's current state, the image that the display creates does not always remain stable, it will commonly will jump back and forth harshly by a few degrees. I believe the underlying cause of this issue has to do with the timing of the timer interrupt that's responsible for pushing out the LED data, and the hall effect trigger interrupt which syncs the display. 
        2. Planned Fixes:
          1. Implement closed loop speed control for the motor. Current the motor speed is just controlled manually via a potentiometer. I plan on adding additional hardware to the control board which will allow me to send the hall effect trigger to motor control microcontroller and be used for speed control.
          2. Improve the efficiency of pushing out the LED data to decrease the time the processor spends in the timer interrupts. I've observed that the SPI transfers my code is doing isn't as fast as the hardware allows, ideally I would like to push the LED data out via DMA SPI transfers instead.

View project log

Enjoy this project?

Share

Discussions

Stefan Krüger wrote 05/07/2019 at 18:58 point

great project!

i have a simple 1-Layer POV concept project slowly going...
currently only documented on github:
https://s-light.github.io/ortogere/docs/ideas/
but currently its on-hold (have other things on priority...)
what RPM do you run this at?
and what is your display update speed / framerate?

  Are you sure? yes | no

Jarrett wrote 06/28/2018 at 20:18 point

Yeah, super cool. I like your power transmission strategy. Do you have closer pictures of the PCBs where they mount, and connect to the coils?

  Are you sure? yes | no

Jamal-Ra-Davis wrote 06/28/2018 at 15:39 point

Thanks, I appreciate it.

Yeah, trying to keep it balanced as it's rotating was a pretty big issue for me, especially during the prototyping stages. (At one point, I had an entire atsamd21 dev board mounted to one side of the control board, and I was almost worried that it was going to shake itself apart). 

To keep it balanced, I've tried my best to keep everything as symmetrical as possible with the layout of the boards and component placement. 

I've tried to cut down on unnecessary weight where I can, especially if was located off center. I previously had the power receiver board for the inductive coils mounted to the control board, but in the final version I actually moved all the receiver boards components directly to the control board. This cut out the weight of the receiver board and the mounting hardware I used.

I also added a bearing at the top of the enclosure that couples to the rotating shaft. It's helped a lot to brace it and keep it rotating straight.

It's still not perfect though. If it's on a hard surface it'll move around due to the vibrations. Right now i just put it on a towel while it's running.

  Are you sure? yes | no

Mike Szczys wrote 06/27/2018 at 14:38 point

This is such a cool build, thanks for posting up some details! I large POV build has been on my future projects list forever (all I've managed to do is a hacky version called #CPOV - a Crappy Persistence of Vision display ).

Is balance and vibration an issue? How did you approach that?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates