- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: a/d wandler programmieren

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    03.03.2007
    Alter
    32
    Beiträge
    24
    Anzeige

    LiFePo4 Akku selber bauen - Video
    hey danke!!!
    leider funktioniert es bei mir immer noch nicht. ich weiße es nicht ob es an der programmierung oder an der hardware liegt.
    ich wollte mein roboter fernsteuren. dazu verwende ich eine fernsteuerung und das funkboard eines helikopters. ich verbinde den pin der motoransteuerung des helikopters mit dem adc5 pin meines atmega32.
    wenn ich bei der fernsteuerung gas gebe, soll sich der roboter nach vorne bewegen. das board des helikopters verwende ich mit einer 4.5 volt batterie und das hauptboard mit dem atmega32 mit 8 volt.
    meine frage: kann der atmega32 die spannung an dem pin adc5 überhaupt messen wenn der atmega32 mit einer anderen spannungsquelle betrieben wird als das funkboard des helikopters???

    ganzen programm:

    [/code]Declare Sub 1()
    Declare Sub 2()
    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 9600

    Config Pinc.6 = Output
    Config Pinc.7 = Output
    Config Pind.4 = Output

    Config Pinb.0 = Output
    Config Pinb.1 = Output
    Config Pind.5 = Output
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
    Pwm1a = 0
    Pwm1b = 0
    Tccr1b = Tccr1b Or &H02

    Config Adc = Single , Prescaler = Auto
    Const Adc = 4.5 / 1023

    Sub 1()
    Portc.6 = 0
    Portc.7 = 1
    Portd.4 = 0

    Portb.0 = 1
    Portb.1 = 0
    Portd.5 = 1

    Start Adc
    Dim Z As Word
    Z = Getadc(5) '5 ist der pin adc5 des atmega32
    If Z > 909 Then 'also wenn mehr spannung als 4 volt(909)anliegt dann soll es die motoren starten
    Do
    Pwm1a = 1023
    Pwm1b = 1023
    Loop Until Z < 100 'er soll es solange ausführen bis an pin adc5 weniger als ungefähr 0.44 volt anliegt
    End If



    If Z < 100 Then ' wenn weniger als 0.44 volt anliegt dann soll er die motoren still legen
    Do
    Pwm1a = 0
    Pwm1b = 0
    Loop Until Z > 909 ' er soll die motoren stoppen bis an pin adc5 mehr als 4 volt anliegen
    End If
    End Sub[/scroll]

    david
    http://www.david-schleicher.de/

  2. #12
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.187
    Moment mal,

    normale Flugsteller verwenden im Normalfall eine Pulsbreitensteuerung.
    Das bedeutet, das hier nicht wirklich eine analoge Spannung anliegt, sondern zwischen voll an und voll aus hin und her geschaltet wird, sodass im Mittel dann die Spannung rauskommt, die der Motor kriegen soll.


    Es kommt also darauf an, wann dein A/D Wandler seine Messung macht.
    Und er wird dann immer entweder 0V oder 5V messen.

    Wenn Du ohnehin den Motor über den Controller ansteuerst, warum gehst Du dann den Umweg über den Steller und wertest nicht gleich das Servosignal vom Gaskanal aus ?
    Wie das geht könntest Du Dir mal bei www.rclineforum.de im Elektronik Teil unter Bascom Programmierung anschauen.
    Wenn das nicht möglich ist, weil bei deinem Board alle Komponenten auf einer Platine sind, solltest Du mit einem RC Glied wieder eine analoge Spannung aus dem PWM Signal zurückgewinnen. Die kannst Du dann auf deinen A/D Wandler geben.
    Um welches Hubschrauberboard handelt es sich denn ?
    Die Leutchen aus der Modellbauecke haben da schon so einiges gebastelt.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken pwm_138.gif  

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    03.03.2007
    Alter
    32
    Beiträge
    24
    also das forwärts fahren klappt jetzt gut.
    aber ich wollte noch fragen kann der atmega 32 noch ungefähr 40-60 mV messen.
    wenn ich eine refenenzspannung von 2.3 volt habe dann müssten 40-60 mV ungefähr 18-34 digit sein.
    wollte mal fragen ob des richtig ist.

    david
    http://www.david-schleicher.de/

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    03.03.2007
    Alter
    32
    Beiträge
    24
    bei dem hubschrauber board handelt es sich um ein walkera rc model.
    so ein kleiner für anfänger. das board steuert 2 Servos und zwei motoren an.
    es ist so: ich habe einmal ein board mit dem atmega 32 selber gebaut und einmal das board des hubschraubers.
    aber wie ich das signal gleich mit dem atmega 32 auswerten kann weiß ich net
    wie das geht. wkrug danke für dein link ich werde mal schauen.
    http://www.david-schleicher.de/

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress