A Cheap DIY Audio Sweep Signal Generator Project with Sync : PCB Design And Schematic

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 48

  • @LearnElectronicsRepair
    @LearnElectronicsRepair  3 หลายเดือนก่อน

    *Thanks everyone for various comments and suggestions regarding this video. Detlef came up with a very simple, cheap and elegant way of building this project that gets around a whole load of technical issues. We are working on that now so you can all look forward to an update and progress video very soon* 🙂

  • @jaymz168
    @jaymz168 3 หลายเดือนก่อน +1

    I just use the free software Room EQ Wizard aka 'REW' plus an audio interface for audio measurements. The software was originally made for measuring the acoustics of rooms and generating corrective EQ curves, which it still does, but it can do so much more. The audio interface gives you better dynamic range than any scope which is useful when the better equipment has noise floors below -120dBu. Bandwidth is limited so you'll still want to check for oscillation with a scope but some of the interfaces available are good up to 192kHz or even 384kHz. Plus you can use a reference signal loopback and get the full transfer function of the DUT including THD, IMD, noise floor, phase, etc.

  • @Taliesen.
    @Taliesen. 3 หลายเดือนก่อน +3

    Nothing wrong with making your own but you could also buy an arbitrary waveform generator (AWG) with dual output and do this I believe. They have a ton of customizations possible for sweep generation. You could get one that provides a sync signal but you could also use the 2nd channel to create a sync signal and let the AWG sync the 2 channels. You could also create your own waveform with a signal embedded in it and use a single channel. They are plenty fast (GHz) and high resolution.

    • @LearnElectronicsRepair
      @LearnElectronicsRepair  3 หลายเดือนก่อน

      Thanks for the suggestion, I looked for some inexpensive ones to buy but couldn't see anything obvious. Can you post some suggestions please.

    • @Taliesen.
      @Taliesen. 3 หลายเดือนก่อน

      @@LearnElectronicsRepair Depends on how inexpensive. I don't want to list brand names because YT keeps deleting my messages for a ton of reasons. You can likely get one from one of the companies that you already get demo equipment from. e.g U-T's smallest AWG would do the trick I think.

  • @TheElectronicDilettante
    @TheElectronicDilettante 3 หลายเดือนก่อน

    It’s awesome that you guys are making your own signal generator, in the mean time or to test various ideas, try buying a cheap one from Amazon.
    A friend uses an FG-100 Function Generator 0-500khz for various automotive stereo system builds. I use a SeeSii DDS Signal Generator FG-615 for everything but specifically because it has programmable Arbitrary Waveform Generator. From time to time I build various enclosures for woofers and subwoofers. For testing , I used a system test that was a track on a “ Bass 305” album to program one of the AWGs , “Tee” in an oscilloscope for a visual representation of the speaker response and it works great. Provides way more information than I know what to do with.
    I look forward to the Canary Island Solution because I bet it will be just as functional yet far more portable.

  • @lrdisco2005
    @lrdisco2005 3 หลายเดือนก่อน

    Writing code, my Kryptonite. The Motorola HC11, it haunts me to this day.

  • @romancharak3675
    @romancharak3675 2 หลายเดือนก่อน

    I didn't see a programming header on the board - very important !!

  • @charlessmyth
    @charlessmyth 3 หลายเดือนก่อน

    I use a swept tone audio file from the internet and play it back from the computer's soundcard. Also have one that I made myself of a sequence of tones on separate Audacity tracks that I can switch between or have as a combined track. There's also the option of a pink noise file and then record the output in Audacity, for example, and display the spectrum analysis. For microphones, I find it useful to play back a pink noise file from my Samsung A40 mobile phone, and record the mic output with Audacity, eq the recording at a cant of minus to plus 18db from 100Hz to 7KHz to display it as flat. As per the limitations of the A40 as an audio source, this is good from 400Hz to about 7KHz and is handy as a way to figure out an eq curve, to flatten the mic. Also handy as a way to compare polar responses of mics.

  • @perkulant4629
    @perkulant4629 3 หลายเดือนก่อน +1

    This looks like it could be an epic adventure!

    • @LearnElectronicsRepair
      @LearnElectronicsRepair  3 หลายเดือนก่อน

      We were kinda approaching it like that, don't know if we will succeed where other failed though. But it will be fun for sure.

  • @ralphj4012
    @ralphj4012 3 หลายเดือนก่อน

    Perhaps also consider a Maxim MAX038-based design as this will provide a greater frequency range and includes sync.

    • @LearnElectronicsRepair
      @LearnElectronicsRepair  3 หลายเดือนก่อน

      Yeah that's the whole point of this video series, to come up with a good low cost solution. Thanks for the info.

  • @macwake
    @macwake 3 หลายเดือนก่อน

    One thing that came to mind is you can only change one bit of output at a time, so you would get incorrect values while preparing the digital input value of the dac. I'd suggest putting a latch buffer(?) between the mcu and the dac, and use another gpio output to make that 8 bits "enter" the dac.
    Or am i completely wrong?

  • @KD0CAC
    @KD0CAC 3 หลายเดือนก่อน

    Would also like to see an RF version - testing RF amps ?
    Thanks again

  • @chrispac6264
    @chrispac6264 3 หลายเดือนก่อน

    Kerry Wong obviously kept his points at the lower number to get around the speed issue, to reduce the number of points is the simplest solution. that’s why he had his Arduio code using those parameters which you questioned, if you want to maintain a better waveform it will be necessary to upgrade.
    Here’s a list of some faster microcontrollers (MCUs) and digital-to-analog converters (DACs), where possible in the same format:
    Microcontrollers (MCUs):
    1. STM32F746ZG
    • Architecture: ARM Cortex-M7
    • Speed: 216 MHz
    • Flash Memory: 1 MB
    • RAM: 320 KB
    • Package: LQFP-144
    • Notable Features: High-performance with floating-point unit (FPU), DSP instructions, rich connectivity options.
    2. ATSAME70Q21
    • Architecture: ARM Cortex-M7
    • Speed: 300 MHz
    • Flash Memory: 512 KB
    • RAM: 384 KB
    • Package: LQFP-100
    • Notable Features: Advanced high-performance MCU with dual-bus architecture, FPU, and powerful peripherals.
    3. ESP32
    • Architecture: Xtensa Dual-Core 32-bit LX6
    • Speed: 240 MHz
    • Flash Memory: 448 KB ROM, 520 KB SRAM, external Flash up to 16 MB
    • RAM: 520 KB
    • Package: QFN-48
    • Notable Features: Integrated Wi-Fi and Bluetooth, suitable for IoT applications, high-performance computing.
    4. PIC32MZ2048EFH144
    • Architecture: MIPS32 M-Class
    • Speed: 200 MHz
    • Flash Memory: 2 MB
    • RAM: 512 KB
    • Package: TQFP-144
    • Notable Features: High-performance PIC32 MCU with rich peripheral set, high-speed USB, and Ethernet support.
    Digital-to-Analog Converters (DACs):
    1. AD9174
    • Resolution: 16-bit
    • Speed: Up to 12 GSPS
    • Channels: 2
    • Interface: JESD204B/C
    • Package: CSP-BGA
    • Notable Features: Ultra-fast DAC for high-performance RF applications, supports direct RF synthesis.
    2. MAX5879
    • Resolution: 14-bit
    • Speed: 6 GSPS
    • Channels: 1
    • Interface: LVDS
    • Package: TQFN-56
    • Notable Features: Ultra-fast DAC suitable for wideband communications, radar, and instrumentation.
    3. DAC38RF82
    • Resolution: 14-bit
    • Speed: Up to 9 GSPS
    • Channels: 2
    • Interface: JESD204B
    • Package: FCBGA
    • Notable Features: High-speed DAC for direct RF applications, supporting multiple frequency bands.
    4. AD9739A
    • Resolution: 14-bit
    • Speed: Up to 2.5 GSPS
    • Channels: 1
    • Interface: Parallel LVDS
    • Package: LFCSP
    • Notable Features: High-speed DAC ideal for communication systems, radar, and test equipment.
    These components are faster options for high-performance applications where speed is crucial, much more suitable for tasks such as real-time signal processing, high-speed data acquisition, and RF signal generation.
    versus the original MCU and DAC
    ATmega328P (MCU) Specifications:
    • Architecture: 8-bit AVR RISC
    • Clock Speed: 20 MHz (max)
    • Flash Memory: 32 KB
    • RAM: 2 KB SRAM
    • EEPROM: 1 KB
    • Package: DIP-28, TQFP-32, QFN-32
    • Operating Voltage: 1.8V - 5.5V
    • I/O Pins: 23 programmable I/O lines
    • Timers: 3 timers (2 x 8-bit, 1 x 16-bit)
    • ADC: 10-bit ADC with 6 channels
    • PWM Channels: 6
    • UART, SPI, I2C Interfaces: Yes
    • Power Consumption: Very low power in sleep modes, typically used in low-power embedded applications.
    • Notable Features: Popular in hobbyist projects like Arduino; reliable and easy to use.
    DAC0800LCN (DAC) Specifications:
    • Resolution: 8-bit
    • Conversion Speed: 100 ns (typical, at 8-bit resolution)
    • Output Current: 2 mA (full-scale current)
    • Voltage Reference: External, up to ±15V
    • Interface: Parallel (8-bit data input)
    • Package: DIP-16, SOIC-16
    • Power Supply: Single supply (5V to 15V) or dual supply (±5V to ±15V)
    • Output Type: Current output (requires an external operational amplifier to convert to voltage if needed)
    • Power Consumption: Typically low, suitable for basic digital-to-analog conversion.
    • Notable Features: Simple, fast 8-bit DAC used in a variety of analog output applications, including waveform generation.

  • @Dutch-linux
    @Dutch-linux 3 หลายเดือนก่อน

    also a block wave generator is useful for checking the bass and treble controlls !!!! so you could make one of those that generates a stable block / square wave gen at 1khz with that size of a pcb you could fit s squarewave gen on it too

  • @Dutch_off_grid_homesteading
    @Dutch_off_grid_homesteading 3 หลายเดือนก่อน

    Heya, I see a nice DIY project coming I like it. as I'm still learning from you ( and thanks for all I have learned till now ) could you explaine some more about this sync signal never heart of this or what it is for thanks again

  • @DimasFajar-ns4vb
    @DimasFajar-ns4vb 3 หลายเดือนก่อน

    peace be upon you sir and zamzam water

  • @stevenbliss989
    @stevenbliss989 3 หลายเดือนก่อน

    I could be missing something, but I suspect you missed the output low pass filter to eliminate the sampling rate frequency????

  • @c-a-r-s-t-e-n
    @c-a-r-s-t-e-n 3 หลายเดือนก่อน

    Hi Richard, how about a signal generator based on a programmable AD9833 chip? Providing sine, triangular and square wave. The chip works up to the MHz range. Cheap modules are available with or without amplifying OpAmp. Examples for Arduino code are also available (fixed freq. / swipe). Probably we would need a bit of additional circuitry for positive/negative output for audio testing.

    • @LearnElectronicsRepair
      @LearnElectronicsRepair  3 หลายเดือนก่อน

      That is more along Det's train of thought on this so yeah we could go that way

    • @SpeccyMan
      @SpeccyMan 2 หลายเดือนก่อน

      I've built one based on a board that has the 9833 and a digitally controlled level control, all driven by an ATMega328p (not using an Arduino Uno) using a circuit board made specifically for the Atmel chip. It is actually a variation on a circuit published in Silicon Chip magazine that used a Micromite (basically a PIC microcontroller running a BASIC interpreter,)

  • @garygranato9164
    @garygranato9164 3 หลายเดือนก่อน

    good video thank you

  • @aurthorthing7403
    @aurthorthing7403 3 หลายเดือนก่อน +2

    There are android apps that work well.
    You can use an old phone with a headphone jack.

    • @LearnElectronicsRepair
      @LearnElectronicsRepair  3 หลายเดือนก่อน

      How do you get the sync pulse for your scope from that?

    • @aurthorthing7403
      @aurthorthing7403 3 หลายเดือนก่อน

      @@LearnElectronicsRepair IDK?
      I imagine it's similar to the computer apps?

  • @ninetailscosmicfox5585
    @ninetailscosmicfox5585 3 หลายเดือนก่อน

    I have an old YM2149 sound chip and with some basic looping/incrementing instructions it should make a great sweep generator, if not a bit overkill. Didn't the circuit from PCBway have a chip listed on it?

    • @LearnElectronicsRepair
      @LearnElectronicsRepair  3 หลายเดือนก่อน

      Can you generate the sync with that? Det and myself were looking at using a function generator IC (ICL8xxx) but we are not sure if you increment the frequency it will do so cleanly (like wait until the end of the current sine wave). It's all good ideas that need some experimentation to get to the best solution. Which circuit from PCBWay are you referring to?

    • @ninetailscosmicfox5585
      @ninetailscosmicfox5585 3 หลายเดือนก่อน

      @@LearnElectronicsRepair Maybe you can with the controlling cpu. I'm not knowledgeable with what is required to generate the sync signal. This would be more of a software solution while using an extra I/O pin to do the job.

    • @ninetailscosmicfox5585
      @ninetailscosmicfox5585 3 หลายเดือนก่อน

      Also you'd either want to find one that does sine waves

    • @ninetailscosmicfox5585
      @ninetailscosmicfox5585 3 หลายเดือนก่อน

      @@LearnElectronicsRepair I was actually inspired by your video to design a sweep generator using a voltage controlled oscillator (VCO) inspired from a channel called Mortiz Klein. I was going to just make a ramp for the control voltage (CV). I was wondering if you can imagine any problems with me taking the sine wave, getting a positive beat by filtering out everything but the positive peak, and then using a shift register or several in series to generate a sync pulse.

  • @Karthor.
    @Karthor. 3 หลายเดือนก่อน

    On the online generator i don't think it would be too hard to edit the code and make it repeat and just have it locally, just checked the code and its javascript might try just for fun!

    • @LearnElectronicsRepair
      @LearnElectronicsRepair  3 หลายเดือนก่อน

      But it doesn't generate a Sync pulse, so it's pretty useless really 😉

    • @Karthor.
      @Karthor. 3 หลายเดือนก่อน

      @@LearnElectronicsRepair Ah i see nevermind then lol!

  • @Foobar_The_Fat_Penguin
    @Foobar_The_Fat_Penguin 3 หลายเดือนก่อน

    Couldn't you also sync your scope to an audio file by putting a marker inside it? Let's say you make the sweep play at 80% volume. And you put a short pulse at the start of the file at 100%. If you set your trigger level to 90%, wouldn't that do it?

  • @Dutch-linux
    @Dutch-linux 3 หลายเดือนก่อน

    make sure the amplitude of the wave is the same across the whole frequentie band if the output drops off at the generator side you will have no way to know how the amp is handling the high or low frequenties....

  • @suatkaleli5075
    @suatkaleli5075 3 หลายเดือนก่อน

    Hi. I have an old motherboard (P5QL SE) and it's embedded audio system is out of order. Is it possible to take the audio output directly from the speaker pins on the motherboard via the circuit like this (I think we can use 555 to produce the frequency it may be cheaper than atmega etc)

  • @garthrk
    @garthrk 3 หลายเดือนก่อน

    Anyone figured out how to order PCBWay shared projects with PCB and components but not assembly?

  • @andymouse
    @andymouse 3 หลายเดือนก่อน

    You do know that Audio frequencies are between 20Hz to 20Khz ? why are you obsessing about speed please ? what did I miss ? That MCU is the heart of an Arduino UNO and would be fine and is used at 16Mhz. Kerry's project is for use with a BK Precision 4011 Function generator what will you use please? as this project is to provide a sweep function for Signal Generators that don't have one (Cheap ones) and a square wave is very handy indeed for a quick way to measure the 'slew rate' of the amp under test.

    • @LearnElectronicsRepair
      @LearnElectronicsRepair  3 หลายเดือนก่อน +1

      @andymouse Det and myself worked this out today. So if the Arduino gives 256 steps per sine wave cycle into the DAC then for a 20KHz sine wave it would have to be updating the DAC at about 256 step x 20KHz = around 5.12MHz so for a 16MHz clock that's about 3 CPU clock cycles per step in the sine wave step! That seems inpossible to us... it sould seem we need a CPU clocking upwards of 250MHz to do this but did we go wrong with the calculation somewhere? Of course we could go with something like 64 steps per sine wave cycle

    • @andymouse
      @andymouse 3 หลายเดือนก่อน

      @@LearnElectronicsRepair I confess I haven't done the numbers because that must be down to the lookup table or array of course but time will tell ! I was more concerned about the fact that Kerry's article is to provide a sweep function to another instrument so that confuses me also but that's not hard !! gonna be interesting :)

    • @chrispac6264
      @chrispac6264 3 หลายเดือนก่อน

      @@LearnElectronicsRepair
      I’m pretty sure your maths is correct, please see my comment for suggestions for mitigation and also some faster MCU and DAC

  • @ianhaylock7409
    @ianhaylock7409 3 หลายเดือนก่อน

    I'd use a Pi Pico or if even mere speed is needed an ESP32. That ancient ucontroller is slow and obsolete.

    • @andymouse
      @andymouse 3 หลายเดือนก่อน

      Its 16mHz and is the MCU of the Arduino Uno so not obsolete. Both the recommendations you make are way over the top for this application there are cheap IC's that are specifically for this job