genuinequality

Download free music MP3s on genuine quality, the world’s largest online music catalogue, powered by your scrobbles. Free listening, videos, photos, The world’s largest online music catalogue, powered by your scrobbles. Free listening, videos, photos, stats, charts, biographies and concerts. stats, charts, biographies and concerts.

Monday, January 30, 2023

[New post] MiniDexed TX816 – Part 5 – Mechanical Assembly

Site logo image Kevin posted: "Having now built the required PCBs and obtained a panel, this post starts to think about the actual mechanical assembly of the MiniDexed TX816. Proposed posts in this series: Part 1: Introduction, context, and high-level design. Part 2: PCB design. " Simple DIY Electronic Music Projects

MiniDexed TX816 – Part 5 – Mechanical Assembly

Kevin

Jan 30

Having now built the required PCBs and obtained a panel, this post starts to think about the actual mechanical assembly of the MiniDexed TX816.

Proposed posts in this series:

  • Part 1: Introduction, context, and high-level design.
  • Part 2: PCB design.
  • Part 3: Panel design.
  • Part 4: PCB assembly.
  • Part 5: Mechanical assembly and code.
  • Part 6: In use!

Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

If you are new to microcontrollers and single board computers, see the Getting Started pages.

Pico and IO Integration Test

Prior to the full mechanical assembly, I thought it prudent to check that the Pico was able to correctly talk to both IO panels.  And to be honest, I really wanted to see those LEDs in the panel for the first time!

Recall, that the current status is as follows:

  • The front panel is here.
  • The Raspberry Pi Interface board has been made, but one IO board header is unpopulated.  And at present, I've still not made the "power fix" - I'll get to that in a moment.
  • I've now made two of the IO boards - one with headers and one without.

IMG_6875

I'm still not adding the Raspberry Pi itself into the mix, so I've kept the "Pico 5V" patch from testing the IO boards (see photo below), and I'm relying on the Pico for 3V3 power too, both of which will be supplied via the Pico's USB interface.

The IO board for TG1-4 can be directly connected to the Interface board using the soldered on headers.  The IO board for TG5-8 still has no connector, so I'm going to keep using the "fishing line trick" to temporarily use a 20-way dupont style pin to socket cable to connect it to the Interface board.

But first I need to decide on the fixing on the Interface board.  I've now added a 20-way set of right-angled pin headers soldered to the top of the board as shown below.

IMG_6867

The three boards and be assembled and then, optionally, but as I say, this was my main reason for doing this test in the first place, they can carefully be inserted into the panel for testing.

IMG_6874IMG_6872IMG_6873

Take particular care with the 16 individual LEDs.  But if the panel was used to correctly align them and set the height as suggested previously, hopefully they will line up and push back in with just a little, gentle encouragement!

Full IO Panel Integration Code

The code for the IO panel is a slight evolution of the previous code. It has now been extended in the following ways:

  • It now scans all 8 switches.
  • It now drives all 16 LEDs via the two shift registers.
  • It monitors all 8 potentiometers.
  • It now initialises the MAX7219 library for 16 digits, with 8 "scan_digits" indicated - i.e. 8 digits per MAX7219.

During the course of this testing, I've actually updated the two libraries I'm using.  Recall, I am using the following:

  • MCP3008: https://github.com/romilly/pico-code
  • MAX7219: https://github.com/JennaSys/micropython-max7219

And have already updated the MAX7219 library to support the Pico's SPI 0 bus on GPIO 16-19.

It turns out there is a bug in the cascade handling (or I think there is anyway).  There seems to be additional flicker in the second set of digits in the cascade, but that can be fixed by updating the MAX7219 library's flush() command.

To fix this (optionally), the following line must be updated as shown:

#self._write([pos + MAX7219_REG_DIGIT0, buffer[pos + (current_dev * self.scan_digits)]] + ([MAX7219_REG_NOOP, 0] * dev)) # Replace with: self._write(([MAX7219_REG_NOOP, 0] * (self.devices-dev)) + [pos + MAX7219_REG_DIGIT0, buffer[pos + (current_dev * self.scan_digits)]] + ([MAX7219_REG_NOOP, 0] * dev))

This has been reported as an issue against the library, so this might even be fixed by the time you read this.  Either way it is optional.  Everything else works fine without this fix anyway.

Find the test code on GitHub here.

MiniDexed IO Mounting

tbd.

Raspberry Pi Integration

tbd.

Pico MIDI Router and TX816 IO Code

tbd.

Closing Thoughts

tbd.

Kevin

Comment
Like
Tip icon image You can also reply to this email to leave a comment.

Unsubscribe to no longer receive posts from Simple DIY Electronic Music Projects.
Change your email settings at manage subscriptions.

Trouble clicking? Copy and paste this URL into your browser:
https://diyelectromusic.wordpress.com/2023/01/30/minidexed-tx816-part-5-mechanical-assembly/

Powered by WordPress.com
Download on the App Store Get it on Google Play
Posted by BigPalaceNews at 1:38 PM
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

No comments:

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments (Atom)

Search This Blog

About Me

BigPalaceNews
View my complete profile

Blog Archive

  • June (123)
  • May (82)
  • April (84)
  • March (87)
  • February (90)
  • January (74)
  • December (72)
  • November (95)
  • October (105)
  • September (112)
  • August (116)
  • July (96)
  • June (100)
  • May (105)
  • April (95)
  • March (131)
  • February (111)
  • January (104)
  • December (98)
  • November (87)
  • October (126)
  • September (104)
  • August (97)
  • July (112)
  • June (113)
  • May (132)
  • April (162)
  • March (150)
  • February (342)
  • January (232)
  • December (260)
  • November (149)
  • October (179)
  • September (371)
  • August (379)
  • July (360)
  • June (385)
  • May (391)
  • April (395)
  • March (419)
  • February (356)
  • January (437)
  • December (438)
  • November (400)
  • October (472)
  • September (460)
  • August (461)
  • July (469)
  • June (451)
  • May (464)
  • April (506)
  • March (483)
  • February (420)
  • January (258)
  • December (197)
  • November (145)
  • October (117)
  • September (150)
  • August (132)
  • July (133)
  • June (117)
  • May (190)
  • January (48)
Powered by Blogger.