Enhver ingeniør, der elsker at rode med elektronik på et eller andet tidspunkt, vil gerne have deres eget laboratorium. Et multimeter, klemmemåler, oscilloskop, LCR-måler, funktionsgenerator, strømforsyning med dobbelt tilstand og en automatisk transformer er det absolutte minimumsudstyr til en anstændig laboratorieopsætning. Selvom alle disse kan købes, kan vi også nemt bygge få på egen hånd som Function Generator og Dual mode strømforsyning.
I denne artikel lærer vi, hvor hurtigt og nemt vi kan bygge vores egen funktionsgenerator ved hjælp af Arduino. Denne funktionsgenerator aka bølgeformgenerator kan producere firkantbølge (5V / 0V) med frekvens i området fra 1Hz til 2MHz, frekvensen af bølgen kan styres af en knap, og driftscyklussen er hårdkodet til 50%, men det er let at ændre det også i programmet. Bortset fra det kan generatoren også producere siden bølge med frekvensstyring. Bemærk, at denne generator ikke er af industriel kvalitet og ikke kan bruges til seriøs test. Men bortset fra at det vil være praktisk for alle hobbyprojekter, og du behøver ikke vente i uger på, at forsendelsen ankommer. Hvad er også sjovere end at bruge en enhed, som vi byggede alene.
Nødvendige materialer
- Arduino Nano
- 16 * 2 Alfanumerisk LCD-skærm
- Rotary Encoder
- Modstand (5.6K, 10K)
- Kondensator (0,1 uF)
- Perf board, Bergstik
- Loddesæt
Kredsløbsdiagram
Det komplette kredsløbsdiagram for denne Arduino-funktionsgenerator er vist nedenfor. Som du kan se, har vi en Arduino Nano, der fungerer som hjernen i vores projekt og en 16x2 LCD til at vise værdien af frekvensen, der i øjeblikket genereres. Vi har også en drejekoder, som hjælper os med at indstille frekvensen.
Den komplette opsætning er drevet af USB-porten på selve Arduino. Forbindelserne, som jeg tidligere brugte, viste sig ikke at fungere af nogle grunde, som vi vil diskutere senere i denne artikel. Derfor måtte jeg ødelægge ledningerne lidt ved at ændre rækkefølgen på stiften. Under alle omstændigheder har du ikke sådanne problemer, da det hele er ordnet, bare følg kredsløbet omhyggeligt for at vide, hvilken stift der er tilsluttet til hvad. Du kan også se nedenstående tabel for at bekræfte dine forbindelser.
Arduino Pin | Forbundet til |
D14 | Forbundet til RS på LCD |
D15 | Forbundet til RN på LCD |
D4 | Forbundet til D4 på LCD |
D3 | Forbundet til D5 på LCD |
D6 | Forbundet til D6 på LCD |
D7 | Forbundet til D7 på LCD |
D10 | Tilslut til Rotary Encoder 2 |
D11 | Tilslut til Rotary Encoder 3 |
D12 | Tilslut til Rotary Encoder 4 |
D9 | Udgange firkantet bølge |
D2 | Opret forbindelse til D9 fra Arduino |
D5 | Udgange SPWM konverteres derefter til sinus |
Kredsløbet er ret simpelt; vi producerer en firkantbølge på pin D9, som kan bruges som sådan, frekvensen af denne firkantbølge styres af den roterende indkoder. For at få en sinusbølge producerer vi SPWM-signal på pin D5, frekvensen af dette skal relateres til PWM-frekvensen, så vi leverer dette PWM-signal til pin D2 for at fungere som en afbrydelse og brug derefter ISR til at kontrollere frekvensen af siden bølge.
Du kan bygge kredsløbet på et brødbræt eller endda få et printkort til det. Men jeg besluttede at lodde det på et Perf-kort for at få arbejdet gjort hurtigt og gøre det pålideligt til langvarig brug. Mit bord ser sådan ud, når alle forbindelser er færdige.
Hvis du vil vide det