Mục lục:
- Bước 1: Danh sách bộ phận
- Bước 2: Thi công
- Bước 3: Phần mềm
- Bước 4: Liên kết
- Bước 5: Phụ lục 1 Lập trình ATMega1284P
- Bước 6: Phụ lục 2 Biến thể Arduino Uno PedalSHIELD
Video: Bàn đạp hiệu ứng âm nhạc và guitar ATMega1284P: 6 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Tôi đã chuyển Arduino Uno ATMega328 Pedalshield (do Electrosmash phát triển và một phần dựa trên công việc tại Phòng thí nghiệm âm nhạc mở) sang ATMega1284P có RAM gấp tám lần so với Uno (16kB so với 2kB). Một lợi ích bất ngờ khác là bản dựng Mega1284 có thành phần tiếng ồn thấp hơn nhiều - đến mức khi tôi so sánh Uno và Mega1284 sử dụng cùng một mạch hỗ trợ, không phải là không hợp lý khi mô tả Uno là "ồn ào" và Mega1284 là " Yên lặng". RAM lớn hơn có nghĩa là có thể thu được hiệu ứng trễ lâu hơn nhiều - và điều đó được chứng minh bằng ví dụ phác thảo Arduino mà tôi đã đưa vào. Tiếng ồn xung quanh khi sử dụng hiệu ứng Tremelo cũng (hầu như) không có với ATMega1284.
So sánh ba bộ vi xử lý Atmel AVR cụ thể là 328P là Uno, 2560P là Mega2560 và Mega1284 cho thấy sau này có nhiều RAM nhất trong ba bộ:
Khung hình 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 Chân IO 23 32 86 Ngắt 2 3 8 Tương tự trong 6 8 16
Tôi bắt đầu bằng cách sử dụng pedalSHIELD dựa trên Uno như trong thông số kỹ thuật Electrosmash nhưng tôi không có cùng RRO OpAmp như đã chỉ định. Kết quả là tôi đã kết thúc với một mạch mà tôi cho là cho kết quả chấp nhận được. Chi tiết của phiên bản Uno này được đưa ra trong phụ lục 2.
Sau đó, cùng một mạch này đã được chuyển sang ATMega1284 - đáng ngạc nhiên là ngoài những thay đổi không cần thiết như gán các công tắc và đèn LED cho một cổng khác và phân bổ 12.000 kB thay vì 2.000 kB RAM cho bộ đệm trễ, chỉ một thay đổi thiết yếu phải được thực hiện trong mã nguồn, cụ thể là thay đổi đầu ra Timer1 / PWM OC1A và OC1B từ Cổng B trên Uno sang Cổng D (PD5 và PD4) trên ATMega1284.
Sau đó, tôi đã phát hiện ra những sửa đổi tuyệt vời đối với mạch điện giật của Paul Gallagher và sau khi thử nghiệm, đây là mạch mà tôi sẽ trình bày ở đây - nhưng sau đó cũng có những sửa đổi: thay thế Uno bằng Mega1284, sử dụng Texas Instruments TLC2272 làm OpAmp, và vì hiệu suất nhiễu tuyệt vời của Mega1284, tôi cũng có thể tăng mức tần số bộ lọc thông thấp.
Điều quan trọng cần lưu ý là mặc dù có sẵn các bảng phát triển cho ATMega1284 (Github: MCUdude MightyCore), nhưng việc mua chip trần (không có bộ nạp khởi động) là một bài tập dễ dàng (mua phiên bản PDIP là bảng mạch bánh mì và bảng mạch dải thân thiện), sau đó tải nhánh Mark Pendrith của bộ nạp khởi động Maniacbug Mighty-1284p Core Optiboot hoặc MCUdude Mightycore, bằng cách sử dụng Uno làm lập trình viên ISP, rồi tải lại các bản phác thảo qua Uno tới AtMega1284. Chi tiết và liên kết cho quá trình này được đưa ra trong phụ lục 1.
Tôi muốn ghi nhận ba nguồn quan trọng nhất mà từ đó có thể thu thập thêm thông tin và sẽ cung cấp các liên kết đến trang web của họ và phần cuối của bài viết này: Electrosmash, Open Music Labs và Tardate / Paul Gallagher
Bước 1: Danh sách bộ phận
ATMega1284P (phiên bản gói PDIP 40 chân) Arduino Uno R3 (được sử dụng làm ISP để chuyển bộ nạp khởi động và bản phác thảo sang ATMega1284) OpAmp TLC2272 (hoặc OpAmp RRIO (Rail to Rail Input and Output) tương tự như MCP6002, LMC6482, TL972) LED đỏ 16 MHz tinh thể 2 x 27 pF tụ 5 x 6n8 tụ 270 pF tụ 4 x 100n tụ 2 x 10uF 16v tụ điện 6 x 4k7 điện trở 100k điện trở 2 x 1M điện trở 470 ohm điện trở 1M2 điện trở 100k Chiết áp 3 x công tắc nút (một trong số chúng nên được thay thế bằng bộ chuyển đổi chân 3 cực 2 chiều nếu hộp hiệu ứng sẽ được sử dụng cho công việc trực tiếp)
Bước 2: Thi công
Sơ đồ 1 cung cấp cho mạch được sử dụng và Breadboard 1 là đại diện vật lý của nó (Fritzing 1) với Ảnh 1 là mạch bread-board thực tế đang hoạt động. Có thể có lợi khi có một chiết áp làm bộ trộn cho tín hiệu khô (bằng với đầu vào) và tín hiệu ướt (sau khi xử lý bởi MCU), và Sơ đồ 2, Bảng mạch 2 và Hình ảnh 2 (được liệt kê trong Phụ lục 2), cho chi tiết mạch của một mạch đã xây dựng trước đó kết hợp bộ trộn đầu vào đầu ra như vậy. Ngoài ra, hãy xem Open Music Labs StompBox để biết cách triển khai bộ trộn khác bằng cách sử dụng bốn OpAmps.
Các giai đoạn đầu vào và đầu ra của OpAmp: Điều quan trọng là phải sử dụng RRO hoặc tốt hơn là RRIO OpAmp vì xung điện áp lớn được yêu cầu ở đầu ra OpAmp tới ADC của ATMega1284. Danh sách bộ phận chứa một số loại OpAmp thay thế. Chiết áp 100k được sử dụng để điều chỉnh mức khuếch đại đầu vào đến mức thấp hơn bất kỳ sự biến dạng nào và nó cũng có thể được sử dụng để điều chỉnh độ nhạy đầu vào cho nguồn đầu vào không phải là guitar, chẳng hạn như máy nghe nhạc. Giai đoạn đầu ra OpAmp có bộ lọc RC bậc cao hơn để loại bỏ tiếng ồn MCU được tạo kỹ thuật số khỏi luồng âm thanh.
Giai đoạn ADC: ADC được cấu hình để luôn đọc thông qua một ngắt. Lưu ý rằng tụ điện 100nF nên được kết nối giữa chân AREF của ATMega1284 và đất để giảm nhiễu vì nguồn Vcc bên trong được sử dụng làm điện áp tham chiếu - KHÔNG kết nối trực tiếp chân AREF với +5 volt!
Giai đoạn DAC PWM: Vì ATMega1284 không có DAC riêng nên các dạng sóng âm thanh đầu ra được tạo ra bằng cách sử dụng điều chế độ rộng xung của bộ lọc RC. Hai đầu ra PWM trên PD4 và PD5 được đặt làm byte cao và byte thấp của đầu ra âm thanh và được trộn với hai điện trở (4k7 và 1M2) theo tỷ lệ 1: 256 (byte thấp và byte cao) - tạo ra đầu ra âm thanh. Nó có thể đáng thử nghiệm với các cặp điện trở khác như cặp ohm 3k9 1M được Open Music Labs sử dụng trong StompBox của họ.
Bước 3: Phần mềm
Phần mềm dựa trên bản phác thảo điện tử và ví dụ bao gồm (pedalshield1284delay.ino), đã được điều chỉnh từ bản phác thảo độ trễ Uno của họ. Một số công tắc và đèn LED đã được di chuyển đến các cổng khác với các cổng được lập trình viên ISP sử dụng (SCLK, MISO, MOSI và Reset), bộ đệm trễ đã được tăng từ 2000 byte lên 12000 byte và PortD đã được đặt làm đầu ra cho hai tín hiệu PWM. Ngay cả khi tăng bộ đệm trễ, bản phác thảo vẫn chỉ sử dụng khoảng 70% RAM 1284 khả dụng.
Các ví dụ khác như octaver hoặc tremolo từ trang web điện tử cho pedalSHIELD Uno có thể được điều chỉnh để Mega1284 sử dụng bằng cách thay đổi ba phần trong mã:
(1) Thay đổi DDRB | = ((PWM_QTY << 1) | 0x02); sang DDRD | = 0x30; // Thay đổi ở trên là thay đổi mã cần thiết DUY NHẤT // khi chuyển từ AtMega328 sang ATMega1284
(2) Thay đổi # xác định LED 13 # xác định FOOTSWITCH 12 # xác định TOGGLE 2 # xác định PUSHBUTTON_1 A5 # xác định PUSHBUTTON_2 A4
đến
# xác định LED PB0 # xác định FOOTSWITCH PB1 # xác định PUSHBUTTON_1 A5 # xác định PUSHBUTTON_2 A4
(3) Thay đổi mã pin (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, OUTPUT)
đến
pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, OUTPUT);
Các nút bấm 1 và 2 được sử dụng trong một số bản phác thảo để tăng hoặc giảm hiệu ứng. Trong ví dụ về độ trễ, nó tăng hoặc giảm thời gian trễ. Khi bản phác thảo được tải lần đầu tiên, nó bắt đầu với hiệu ứng trễ tối đa. nhấn nút xuống - mất khoảng 20 giây để đếm ngược đến vị trí tắt trễ - rồi nhấn và giữ nút lên. Lắng nghe cách hiệu ứng quét của việc giữ nút thay đổi hiệu ứng của phaser, điệp khúc và bích, cũng như độ trễ khi thả nút.
Để thay đổi độ trễ thành hiệu ứng tiếng vang (thêm sự lặp lại), hãy thay đổi dòng:
DelayBuffer [DelayCounter] = ADC_high;
đến
DelayBuffer [DelayCounter] = (ADC_high + (DelayBuffer [DelayCounter])) >> 1;
Công tắc chân phải là công tắc ba cực hai chiều và phải được kết nối như được mô tả trên trang web điện tử.
Bước 4: Liên kết
(1) Electrosmash:
(2) Mở Phòng thí nghiệm Âm nhạc:
(3) Paul Gallagher:
(4) Bộ nạp khởi động 1284:
(5) Vi điều khiển AVR ATmega1284 8bit:
ElectrosmashOpenlabs MusicPaul Gallagher1284 Bootloader 11284 Bootloader 2ATmega1284 Vi điều khiển AVR 8bit
Bước 5: Phụ lục 1 Lập trình ATMega1284P
Có một số trang web giải thích tốt về cách lập trình chip ATMega1284 trần để sử dụng với Arduino IDE. Quá trình về cơ bản như sau: (1) Cài đặt ngã ba Mark Pendrith của bộ nạp khởi động Maniacbug Mighty-1284p Core Optiboot vào Arduino IDE. (2) Nối dây ATMega1284 trên bảng mạch có cấu hình tối thiểu là tinh thể 16 MHz, tụ điện 2 x 22 pF nối hai đầu của tinh thể, Nối hai chân nối đất với nhau (chân 11 và 31), sau đó với mặt đất Arduino Uno, kết nối Vcc và AVcc với nhau (chân 10 và 30), sau đó với Uno + 5v, sau đó kết nối chân đặt lại 9 với chân Uno D10, chân MISO 7 với UNO D12, MOSI chân 8 vào Uno D11 và chân SCLK 7 vào chân Uno D13. (3) Kết nối Uno với Arduino IDE và tải ví dụ phác thảo Arduino làm ISP lên Uno. (4) Bây giờ chọn bảng optiboot mạnh mẽ 1284 "maniac" và chọn tùy chọn Burn bootloader. (5) Sau đó chọn bản phác thảo độ trễ 1284 được đưa ra ở đây làm ví dụ và tải nó lên bằng cách sử dụng tùy chọn Uno as lập trình viên trong menu bản phác thảo.
Các liên kết giải thích quy trình chi tiết hơn là:
Sử dụng ATmega1284 với Arduino IDEArduino Mightycore cho AVRs thân thiện với bảng mạch lớn Xây dựng nguyên mẫu ATMega1284p Bộ nạp khởi độngrduino ATmega1284p
Bước 6: Phụ lục 2 Biến thể Arduino Uno PedalSHIELD
Schematic3, Breadboard3 và Photo3 cung cấp thông tin chi tiết về mạch dựa trên Uno có trước bản dựng AtMega1284.
Có thể có lợi khi có một chiết áp làm bộ trộn cho tín hiệu khô (bằng với đầu vào) và tín hiệu ướt (sau khi xử lý bởi MCU), và Sơ đồ 2, Breadboard 2 và Photo 2 cung cấp thông tin chi tiết về mạch của một mạch được xây dựng trước đó trong đó kết hợp một bộ trộn đầu vào đến đầu ra. Ngoài ra, hãy xem Open Music Labs StompBox để biết cách triển khai bộ trộn khác bằng cách sử dụng bốn OpAmps
Đề xuất:
Tự làm bàn đạp Overdrive chạy bằng pin cho hiệu ứng guitar: 5 bước
Bàn đạp Overdrive chạy bằng pin tự làm cho hiệu ứng guitar: Đối với tình yêu âm nhạc hoặc tình yêu của điện tử, mục đích của Hướng dẫn này là cho thấy SLG88104V Rail I / O 375nA Quad OpAmp quan trọng như thế nào với những cải tiến về điện áp thấp và điện áp thấp của nó có thể là cách mạng hóa các mạch tăng tốc. Ty
NeckCrusher (Bàn đạp hiệu ứng gắn trên guitar): 6 bước (có hình ảnh)
NeckCrusher (Bàn đạp hiệu ứng gắn trên guitar): Dale Rosen, Carlos Reyes và Rob KochDATT 2000
Bàn đạp Proto cho Hiệu ứng Guitar DIY: 5 bước (có hình ảnh)
Bàn đạp Proto cho Hiệu ứng đàn guitar tự làm: Thiết kế và tạo hiệu ứng đàn guitar của riêng bạn là một cách tuyệt vời để kết hợp niềm đam mê điện tử và guitar. Tuy nhiên, khi thử nghiệm các thiết kế mới, tôi nhận thấy mạch mỏng manh trên bảng mạch không hàn rất khó kết nối với bản vá c
Bàn đạp hiệu ứng đàn guitar biến dạng bản sao chuột tự làm - RAT chết: 5 bước (có hình ảnh)
Bàn đạp hiệu ứng đàn guitar làm biến dạng chuột sao chép tự làm - RAT đã chết: Đây không phải là bàn đạp làm biến dạng chuột Mickey! Bàn đạp này là bản sao của một bàn đạp hiệu ứng yêu thích của tôi từ những năm 80 … Biến dạng RAT của ProCo. Đó là một bàn đạp bóp méo OpAmp cơ bản sử dụng chip IC LM308N cổ điển, một cấu trúc khá đơn giản cho t
Làm cho máy ảnh của bạn thành "chế độ chụp đêm quân sự", thêm hiệu ứng ban đêm hoặc tạo chế độ chụp ảnh ban đêm trên bất kỳ máy ảnh nào !!!: 3 bước
Đặt Máy ảnh của bạn thành "Chế độ chụp đêm quân sự", Thêm Hiệu ứng Ban đêm hoặc Tạo Chế độ Cảnh báo Ban đêm trên Bất kỳ Máy ảnh nào !!!: *** Điều này đã được đưa vào CUỘC THI KỸ THUẬT SỐ DAYS PHOTO , Hãy bình chọn cho tôi ** * Nếu bạn cần bất kỳ trợ giúp nào, vui lòng gửi email: [email protected] Tôi nói tiếng Anh, Pháp, Nhật, Tây Ban Nha và tôi biết các ngôn ngữ khác nếu bạn