- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 6 von 6

Thema: AVR-Timer fuer PWM und CNY70 nutzen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    01.05.2004
    Beiträge
    12

    AVR-Timer fuer PWM und CNY70 nutzen

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    ich bastle gerade an einem Board fuer meinen Roboter.
    Das Board soll u.a. zwei Servo steuern und den Zustand von CNY70 feststellen.

    Hier zu haben ich drei Fragen:
    1. Das Bestimmen des Zustandes des CNY70 soll unabh. vom Programm erfolgen. Ich hatte gedacht, wenn der Sensor ein high zurueckgibt, dass dann ein Interrupt ausgeloest wird.
    Ist dies ratsam? Gibt es andere Moeglichkeit, dass man keine Aenderung verpasst?

    2. Zur Steuerung meiner mod. Servos, kann ich das PWM Signal dirket von Timer0 und Timer1 abnehmen? In dem Bascom Beispiel der Hilfe wird der Pin B.0 (bei einem AtMega16) benutzt. Loest dabei der Timer0 aus und setzt den Pin B.0 high? Ist es nicht besser, die Taktflanke direkt vom Timer0 zu nehmen?

    3. Kann ich den CNY70 (genauer gesagt, den Photo-Transistor) direkt zwischen Masse und dem Eingangspin des AVR legen?
    Oder da noch weitere Beschaltung noetig?
    In der letzten Ct schien mir der Sensor dirket angeschlossen, aber auf einigen Internetseiten, wird das Signal nochmal verstaerkt.

    Vielen Dank fuer Eure Antworten.

    Ciao,
    Hannes

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Zu 1.

    Es gibt nur 2 Möglichkeiten die Änderung mitzubekommen.

    Einmal per Int. oder man fragt regelmäßig ab.
    In ersterem Fall gibts ne erzwungene Benachrichtigung.
    Zweiter Fall hat ne Verzögerung in abhängigkeit vom Abfragezyklus.
    Was de nimmst muste selber wissen.


    Zu 2.


    Es gibt auch hier mehrere Möglichkeiten.

    Soft oder Hard-PWM.
    Hängt mehr davopn ab was du noch frei hast.


    Zu 3.


    Nein ,so ohne alles würde ich es nicht machen denn das ist ziemlich wackelig.

    Die Transe sollte mit einem Widerstand einen Spannungsteiler bilden dann haste auch klare Pegel und kannst es auch einstellen.

    Die Diode bekommt natürlich nen Vorwiderstand gemäß ihrer Spezifikation.
    Gruß
    Ratber

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    01.05.2004
    Beiträge
    12
    Zitat Zitat von Ratber
    Einmal per Int. oder man fragt regelmäßig ab.
    In ersterem Fall gibts ne erzwungene Benachrichtigung.
    Wie wuerde das genau aussehen? Wie kann ich dabei einen Timer nutzen?

    Zitat Zitat von Ratber
    Soft oder Hard-PWM.
    Hängt mehr davopn ab was du noch frei hast.
    Habe noch alles frei. Ich bin gerade dabei das Board zu planen.
    Was meinst Du genau mit Hard oder Soft PWM? PWM ist schon klar...
    Ist die Ausgabe ueber einen Timer ist Hard-PWM-Methode?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    st die Ausgabe ueber einen Timer ist Hard-PWM-Methode?
    Ja ,denn der Timer steuert die Ausgabe.

    Die andere Möglichkeit ist das per Software zu machen aber das kostet Rechenzeit.


    Wie wuerde das genau aussehen? Wie kann ich dabei einen Timer nutzen?
    Das ist mit einigen Sätzen nicht erklärt.

    Als Int. nimmste einen Externen also einen Pin der einen Interupt auslösen kann. (zb. Int0)

    Ändert sich der Pegel dort in der Form die du vorgegeben hats dann springt das Programm in die passende Unterroutine.
    Gruß
    Ratber

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    01.05.2004
    Beiträge
    12
    Kann ich dann bei einem AtMega16
    OC1A fuer Servo1
    OC1B fuer Servo2
    und
    INT1zum Ausloesen der Abfrage des Sensor1
    INT2 zum Ausloesen der Abfrage des Sensor1
    verwenden?

    Macht es Sinn?

    Vielen Dank fuer eine Antwort.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Ja ,kannste so machen.

    Du weißt wie ein Servo angesteuert wird.(Alle 20ms ein Impuls von 1-2ms)
    Der Rest ist nur ne Fleissaufgabe
    Gruß
    Ratber

Berechtigungen

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

LiFePO4 Speicher Test