Results 1 to 4 of 4

Thread: Angular Timer

  1. #1

    Angular Timer

    Microchip introduced the PIC16F16XX processors about 2 years ago. It includes a Function called Angular Timer. There is an Application Note AN1980 that deals with utilizing many of the features found in the PIC16F1615/9 to design a Capacitive Discharge Ignition (CDI) system. I'm trying to accomplish something akin to the AN1980 guide. I've been fighting just trying to get response in Single Pulse Mode. Has anyone successfully dealt with the Angular Timer, and if so, could you please post your Special Function Registers dealing with AT?

    Added info; I used a PIC12F1501 to generate a 2.3 ms pulse every 12.3 milliseconds that becomes the "Coil Trigger" to the 16F. I'm using an LED in the AT_INT routine of the 16F to let me know if the PC even gets to the Interrupt Routine. It occasionally does, but not consistently. That's frustrating. I tried dozens of different configurations of code. That's why I'm asking if anyone has done it. Thanks for any help in advance.

  2. #2
    I messed with it for another day and got an output that realistically represents the input. I'm trying to alter the CCY value with a pot (ADC input). When it first starts up, it reads AT1CC1L, which is the degrees trigger register. (There is an AT1CC1H and AT1CC1L register, but my resolution is set at 120 degrees, which fits in the _L register. AT1CC1H = 0.) The output represents the value of the pot in relationship to the Input when it starts. When I alter the pot value and write that to AT1CC1L, it doesn't respond. If I power down, change the pot setting, then power up again, the output reflects the new pot value; but again, I can't alter it once set. The Main routine is just a DO : read pot value, load it into AT1CC1L, loop. (Actually, I'm scaling the pot value a bit, which is working out perfectly when it takes the initial read.)

    It may be nobody has taken any time with this Angular Timer feature and I'm pioneering. Well, another day, maybe I'll get it nailed. Who knows.

  3. #3
    Senior Member
    Join Date
    Sep 2011
    It may be nobody has taken any time with this Angular Timer feature and I'm pioneering. Well, another day, maybe I'll get it nailed. Who knows.

    i'm fairly keen to have a play with the Angular Timer , i sure it could help solve the battery charger regulation issues i get when they're powered from motor generator sets, not only does the generated voltage vary alarmingly but the frequency too when the load changes abruptly . fan governed motor generators react rather poorly to sudden big load shifts and the pid regulated 1kw+ chargers just can't cope and blow fuses or worse quite regularly.
    i bought a "curiosity" dev board to experiment with and come up with a better regulator . unfortunately PBP3 is lagging so far behind the times , the minium version of mplabx required for the curiosity pkob is way past the last version that still works with pbp and i have to say, the mplab code configurator that makes the PERIPHERAL PIN SELECT MODULE a pleasure to use is sadly lacking for pbp3 also. i'm reluctant to have multiple versions of mplabx on my laptop not sure if even if i can . so for the moment i have placed this chip (16f1619) in the too hard basket. you never know, oneday pbp3.1
    if you post some code and your setup is not too difficult to emulate i could solder an icsp conn to the curiosity board and have a play. might get me motivated .

  4. #4
    Finally got Angular Timer working in Single-Pulse Mode. I can vary an analog input and have the phase variation change. I tried different trigger frequencies and the phase angle follows the frequency changes. Three and a half days, but I got it. I've attached the basic program for others wanting to play with Angular Timer on the PIC16F161X platform. This program was on a PIC16F1619.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts