u. 8-channel low frequency PWM generator

PIC32MX250F128B/PIC32MX270F256B and PIC32MZ2048ECx100 are true wonders. Their 8-channel low frequency 32-bit PWM (pulse width modulation) generators in the latest firmware (SVPIC32F250F128B IO Module v2.9.1 - all subversions.zip) enable them to drive up to 8 servo motors with frequencies from less than 1 Hz to more than 2 kHz. The generator is compatible with Velleman K8055 and K8055N experiment boards, as well as it can also be used separately. The channels are connected to following port B outputs: RB0, RB1, RB2, RB3, RB4, RB13, RB14 and RB15. These outputs are also used with K8055 and K8055N experiment board adapters. They connect to outputs Q1 through Q8. However, this does not impair its capability to drive stepper motors, or do signal analysis, because ECCP units and timers are not used for low frequency signal generation.

VB.NET example with source code is provided in 32 and 64-bit versions: 8-channelLFgenerator.zip and 8-channelLFgenerator.zip. New 32-bit and 64-bit DLLs (LIB_PCUSBProjects v6.2.NET4.dll and LIB_PCUSBProjects v6.2.NET4x64.dll) are not only provided with each of the example versions, but they are also available from Downloads section.

NOTE: "LFG 0 (L)" and "LFG 1 (H)" track bars are used to set 32-bit time delays for low (tL) and for high (tH) signal periods. The signal frequency is 1/(tL + tH). If you want the signal frequecny to remain constant, tL and tH must change together, so that their sum remains constant: tL + tH = const. If tL changes, tH must also be altered: tH = const - tL.

NOTE: You can also use 1-channel low frequency generator with PIC18F26J50, which can be directly plugged in K8055N-2 boards.

ALSO READ:

- Up to 9 channel 32-bit arbitrary frequency PWM generation with PIC32 output compare units

8 - independent channel demo application in VB.NET with source code. Click on the screenshot to enlarge it.