Zitat Zitat von Christopher1
Zitat Zitat von fhs
Du kannst sicher sein, dass eine typisches 1-2 ms Signal alle (etwa) 20 ms funktionieren wird. Wie RP6conrad schon sagte, muss das Signal beim Start des Reglers wahrscheinlich "0" sein (also 1,0 ms oder 0,9 ms), da der Regler den Motor sonst aus Sicherheitsgründen nicht aktiviert.
So hab ich zumindest den Regler zum Laufen gebracht
sooo, hab jetzt alles zusammengebaut.
nun hat das ganze aber net soo geklappt

ich berichte bzw. wiederhole meinen bisherigen aufbau:
1.) reglerspannung an 11V netzteil angeschlossen (plus und minus beachtet)
2.) 3 motorphasen an regler angeschlossen
3.) pwm beispielprogramm (siehe unten) geschrieben/kopiert für atmega32 welches von 0,9-2ms pwm-pulsdauer durchiteriert. Hab leider kein oszi zum testen da, aber das Spannungs-Mittel iterierte von 250mV(1ms)-500mV(2ms) bei VCC=5V, also sah das ganz gut aus
4.) steuerleitung angeschlossen (braun rot gelb)
weiß pinbelegung nicht
- erster Versuch nix tut sich regler wird sehr warm (braun masse; rot pwm am µC, gelb VCC)
- zweiter Versuch nix tut sich regler wird nicht mehr anfassbar heiß (masse und vcc getauscht) -> schnell abgeschalten

weitere Versuche gestoppt.

FRAGE: Wie muss die Steuerleitung zum regler beschalten werden???

PS: Glaub den ersten µC hab ich auch entschärft , das Programm blieb unverändert, trotzdem messe ich jetzt an pwm und masse 750-1000mv, also 500mV zuviel, is so ein defekt wahrscheinlich? Stromverbrauch ist laut netzteil auch angestiegen. Programmieren geht aber alles noch supi.

Code für PWM:
Code:
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>

#define kPinInitCompleteLED         PA0
#define kDelay                      10000				//10000
#define kReverseDelay               300000				//300000

#define kLowerLimit                 225                 //  Min 225 == 0.9 ms
#define kUpperLimit                 500                 //  Max 525 == 2.1 ms

int
main()
{
    volatile long       d;
    short               dir = 1;
    
    //  Set LED output pins…
    
    DDRA = _BV(kPinInitCompleteLED);
    DDRB = 0;                                           //  Port B inputs
    
    //  Set up OCR pins (PD4, PD5) as outputs (00110000)…
    
    DDRD = _BV(PD4) | _BV(PD5);
    
    //  Set up Timer 1. Timer 1 should reset when
    //  it reaches TOP = ICR1 (WGM13:0 = 1110b). On
    //  compare match clear output, at TOP set (COM1A1:0 = 10b).
    
    TCCR1A = _BV(COM1A1) | !_BV(COM1A0)                 //  Both PWM outputs set at TOP,
                | _BV(COM1B1) | !_BV(COM1B0)            //    clear on compare match
                | !_BV(FOC1A) | !_BV(FOC1B)             //  PWM mode, can't force output
                | _BV(WGM11) | !_BV(WGM10);             //  Fast PWM, TOP = ICR1
    
    TCCR1B = !_BV(ICNC1) | !_BV(ICES1)                  //  Disable input capture noise canceler,
                                                        //    edge select to negative.
                | _BV(WGM13) | _BV(WGM12)               //  Fast PWM, TOP = ICR1
                | !_BV(CS12) | _BV(CS11) | _BV(CS10);   //  clk(i/o) / 1024
    
    //  PWM duty cycle…
    
    OCR1A = kLowerLimit;
    OCR1B = kLowerLimit;
    
    //  PWM period…
    
    ICR1 = 5000;
    
    //  Show initialization complete…
    
    PORTA = _BV(kPinInitCompleteLED);
    
    //  Loop forever steering left-to-right-to-left…
    
    OCR1A = kLowerLimit;            //    Min value == 0.9 ms
    while (1)
    {
        d = kDelay;
        while (d--);
        
        OCR1A += dir;
        
        if (OCR1A < kLowerLimit)
        {
            OCR1A = kLowerLimit;
            dir = 1;
            d = kReverseDelay;
            while (d--);
        }
        
        if (OCR1A > kUpperLimit)    //    Max value == 2.1 ms
        {
            OCR1A = kUpperLimit;
            dir = -1;
            d = kReverseDelay;
            while (d--);
        }
        
    }
    
    return 0;
}
Danke fürs Mitgrübeln

EDIT: ich glaube OCR1A hats wirklich entschärft... ORCA1B zeigt korrekt an... Gleich noch ein paar neue atmegas bestellen