PWM Generator

From Ethersex_Wiki
Revision as of 19:16, 22 May 2012 by Tkaltenbrunner (talk | contribs) (Connection)
Jump to: navigation, search
PWM Generator
Status
Unstable/Broken
menuconfig I/O->PWM Generator
Pinning yes
Ecmd yes
Depends on ECMD
Requires -
Code https://github.com/ethersex/ethersex/tree/master/hardware/pwm

Pulse wide modulator generator with up to 3 channels.

This module uses the avr timers to generate the pwm signals, so for every channel a timer is necessary. It depends on the hardware and other modules, if thre timers are available for the the three channels.

To get background infos you can have a look at this tutorial (in german): [AVR-Tutorial: PWM]


Connection

Every channels requieres a port., but since the timers are used the ports are fix defined by the pins of the microcontroller.

Nevertheless you have to do some pin definition. Here the version for the AtMega32:

ifdef(`conf_PWM', `dnl
#ifdef CH_A_PWM_GENERAL_SUPPORT
 pin(CHANNEL_A_PWM, PD5, OUTPUT)
#endif /* CH_A_PWM_GENERAL_SUPPORT */
#ifdef CH_B_PWM_GENERAL_SUPPORT
 pin(CHANNEL_B_PWM, PD4, OUTPUT)
#endif /* CH_B_PWM_GENERAL_SUPPORT */
#ifdef CH_C_PWM_GENERAL_SUPPORT
  #error 3 Channel pwm unsupported.
#endif /* CH_C_PWM_GENERAL_SUPPORT */
')

You can also use the script add-hardware (in folder scripts) to generate a board-layout for your current configuration. I don't know the current status of the script - so it is possible, that not every features is supported.