Spisu treści:
Wideo: Pwm2pwm: 4 kroki
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-10 13:48
Zmień wejściowy sygnał PWM na inny sygnał wyjściowy PWM za pomocą enkodera.
Ten projekt narodził się, gdy kupiłem swoją pierwszą wycinarkę laserową. Nie jest łatwo ustawić moc PWM za pierwszym razem w zależności od materiału, który chcesz ciąć. Więc chcę stworzyć małe urządzenie do zmiany mocy podczas egzekucji.
Krok 1: Listy komponentów
Do tego projektu potrzebujesz:
- 1 x wyświetlacz Oled, w moim przypadku I2C
- 1 x Arduino, w moim przypadku arduino mini pro dla małych rozmiarów.
- 1 x Trymer z przyciskiem.
- Rezystor 3 x 10k, 2 do podciągania trymera i jeden do podciągania.
Na zdjęciu z tego kroku widzisz inny Arduino mini pro, zwany laserem, ponieważ symulowałem umiejętności kontrolera laserowego (sygnał pwm) tym Arduino.
Krok 2: Połączenia
Pamiętaj o podłączeniu 3 rezystorów pull-up i pull-down na tym schemacie.
Po raz pierwszy polecam podłączyć drugie Arduino (nazywane w poprzednim kroku laserem), aby sprawdzić, czy kod i połączenie również ze sobą współpracują.
Jeśli lepiej znasz widok schematyczny, otwórz plik pwmTOpwm.svg.
Krok 3: Szkic Arduino
Możesz łatwo skopiować mój kod ze strony GitHub:
Główne umiejętności tego kodu to integracja polecenia "pulseIn", więcej informacji:
Kiedy próbujesz zmierzyć sygnał PWM wchodzący do mikrokontrolera, musisz policzyć, jak długo sygnał utrzymuje się w górę (lub w dół) w okresie. Możesz użyć polecenia „pulseIn”.
Jeśli spróbujesz wykreślić sygnał pulseIn, zobaczysz coś niestabilnego.
Aby rozwiązać ten problem, musimy użyć filtru medianowego, w moim przypadku wykładniczej średniej kroczącej (EMA).
Możesz wypróbować ten fajny i łatwy filtr na tym przykładzie:
Nie martw się, filtr jest już zintegrowany w kodzie:p.
Jeśli używasz drugiego Arduino (lasera) możesz wgrać w tym arduino ten przykład:
Krok 4: PCB
Chciałbym stworzyć płytkę PCB do tego projektu za pomocą programu KiCad i udostępnić ją.
Jeśli wprowadzę zmiany w PCB, udostępnię je na stronie GitHub.