Arduino Pulse bredd modulering Digital till Analog-konvertering (1 / 1 steg)
Steg 1:
Figur 1 illustrerar med hjälp av en LM358 i samband med ett low-pass
filter (10uF cap, 4.7K motstånd) att producera en 0-5V utgång proportionell mot intermittensen från DP11. 10K potentiometer kopplad analoga pin 0 är läsa, delas med 4, sedan skrivs med analogWrite() till digital stift 11. Anledningen till att vi delat ADC värdet av 4 är att PWM som används med Arduino är 8-bitars och inte 10-bitars. Denna samma krets fungerar med ett Microchip PIC så 10-bitars med bättre upplösning. Upplösningen är 5V / 255 = 19.61mV per steg.
Fig. 2 visar med den andra hälften av LM358 som en spänning förstärkare vars vinst är baserat i 1 + R2/R1. Med 10K potentiometer ansluten mellan produktionen stift 7 och skickas tillbaka till inverterade indata kan vi justera för en vinst på 1 till 2. Produktionen med en 12-volts försörjning är 0-10V eller 2-volt nedan Vcc.
I Fig. 3 vi tar samma krets i Fig 2 men använder en enda LM358 som en spänning förstärkare, öka Vcc till 24-volt, och ändra den 10K till 50K som ger en vinst på 1 till 6. Vi har också lagt till en TIP41 NPN effekttransistor för att öka produktionen nuvarande. Först ställa in 10K potten på ADC0 för 5-volt vid TP1, sedan justera R2 för en maximal spänning ut mellan 5 och 20-volt. När detta visas en Arduino NANO det kommer att fungera med en Arduino.
Observera YouTube-video. Arduino koden finns på http://www.bristolwatch.com/ele2/dac.htm