Forum: Mikrocontroller und Digitale Elektronik Servo mit 4017 und LED


von Philipp (Gast)


Lesenswert?

Hallo,

ich habe vor mit einem Attiny44-20 ein PPM Signal auszulesen, zu 
analysieren und dann wieder auszugeben. Das Signal wird dann mit einem 
4017 in die einzelnen Kanäle für maximal 10 Servos aufgeteilt.

Jetzt meine Frage: Da nicht immer alle 10 Kanäle genutzt werden, möchte 
ich an jeden Ausgang zusätzlich eine LED hängen, die dann mit dem PWM 
Signal blinken soll.
Kann ich die Schaltung etwa so aufbauen? Oder könnte es da 
Störungen/Probleme für das Signal geben? 4017-Ausgang -> PWM Abgreifen 
für Servo -> Widerstand -> LED -> GND?


Der allgemeine Aufbau wird sein:
Attiny44-20 mit 16Mhz Quarz.
Timer1 mit Prescaler 8 = 2Mhz = 2000 Schritte/ms
Input Capture für das Einlesen und ein Output Compare "Timeout" für PPM
Der andere Output Compare Channel gibt das bearbeitete PPM Signal aus 
(Ausgang Toggle)
Hat jemand bedenken dass es Zeitliche Probleme bei der Eingabe und 
Ausgabe geben könnte? In den Interrupt-Routinen steht lediglich das 
allernötigste wie Auslesen des ICP Wertes oder Aktualisierung oder 
Output Compare Channel, alles andere wird in FiFo's zwischen gespeichert 
und in der normalen "while-Schleife" abgearbeitet.

MfG
Philipp

von MaWin (Gast)


Lesenswert?

Nimm einen Atmega88 und vergiss den CD4017.

von Hannes L. (hannes)


Lesenswert?

MaWin schrieb:
> Nimm einen Atmega88 und vergiss den CD4017.

Richtig! Wobei der Tiny2313 auch reichen würde.

Oder lass den AVR weg und spendiere dem 4017 (oder einem 
Schieberegister) ein RC-Glied zum Erzeugen eines Reset-Impulses aus der 
Synchronpause.

...

von Philipp (Gast)


Angehängte Dateien:

Lesenswert?

Hannes Lux schrieb:
> Oder lass den AVR weg und spendiere dem 4017 (oder einem
> Schieberegister) ein RC-Glied zum Erzeugen eines Reset-Impulses aus der
> Synchronpause.

Ohne AVR gehts nicht, da auch noch eine Calibrierung mit eingebaut wird, 
die über den AVR laufen wird.

MaWin schrieb:
> Nimm einen Atmega88 und vergiss den CD4017.

Ich denke, der AVR dürfte weniger ausgelastet sein wenn er ein PPM 
Signal an einem OC Pin erzeugt, als einzelne PWM Signale an separaten 
Pins. Ich kann das schlecht einschätzen wie viel der AVR wirklich 
ausgelastet wird, aber da er noch das PPM Einlesen muss und danach auch 
noch mit den Kalibrierungsdaten verrechnen muss, bin ich eher für die 
Lösung mit dem 4017.

Rein vom Platz sind beide Lösungen passend. Ich lasse dafür Platinen 
herstellen und mache die gesamte Schaltung in SMD. Ich habe bereits ein 
bisschen mit Eagle rumprobiert und ich bekomme das ganze gut auf eine 
35x40mm  Platine. ISP, Statusleds und Kalibrierungsbutton fehlen noch.



Aber nochmal zu meiner eigentlichen Frage: Ist es Problemlos möglich am 
gleichen 4017 Ausgang eine LED und den PWM Eingang des Servos zu haben, 
ohne dass das PWM z.b. gestört wird?

von Philipp (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich habe den Schaltplan fertig für die Version mit dem Attiny + 4017. 
Hat jemand Tipps oder verbesserungsvorschläge?

Philipp

von Nicolas S. (Gast)


Lesenswert?

Philipp schrieb:
> Hat jemand Tipps oder verbesserungsvorschläge?

Wurde "nimm einen AVR mit einer ausreichenden Anzahl an Pins" schon 
genannt?

von Nicolas S. (Gast)


Lesenswert?

Philipp schrieb:
> Hat jemand Tipps oder verbesserungsvorschläge?

Wurde "nimm einen AVR mit einer ausreichenden Anzahl an Pins" schon
genannt?

Oder gibt es einen besonderen Grund, warum Du am Tiny44 festhälst? 
(Franzis-Lernpaket oder so)

von Nicolas S. (Gast)


Lesenswert?

Aber wo wir schon dabei sind:

-Du willst die Servos abwecheln ansteuern, indem Du mit dem C4017 die 
Versorgungsspannung an- und ausschaltest? Damit verlieren sie ihr 
Drehmoment, lassen sich also frei drehen. Wenn das ein Feature ist: OK.

- Bitte nicht zuviel mit Netznamen spielen. Leitungen ziehen ist hier 
deutlich besser.

- Wenn 6 Pads eine ISP-Buchse sein sollen, bietet es sich an, auch 
wirklich eine Buchse zu nehmen und nicht Pads in der Weltgeschichte zu 
verteilen.

- Die Blockkondensatoren an den Servosteckern fehlen.

Das war's fürs erste... erstmal das eine verbessern, dann die restlichen 
Fehler suchen.

Mann, was bin ich heute wieder ätzend.

von Philipp (Gast)


Angehängte Dateien:

Lesenswert?

Nicolas S. schrieb:
> Wurde "nimm einen AVR mit einer ausreichenden Anzahl an Pins" schon
> genannt?
Ja

> Oder gibt es einen besonderen Grund, warum Du am Tiny44 festhälst?
> (Franzis-Lernpaket oder so)
Im großen und ganzen weil ich noch ein paar Tinys und 4017 hier zuhause 
gefunden habe und ich keine relevanten Vorteile feststellen konnte, 
einen AVR mit mehr Pins zu verwenden.

> -Du willst die Servos abwecheln ansteuern, indem Du mit dem C4017 die
> Versorgungsspannung an- und ausschaltest? Damit verlieren sie ihr
> Drehmoment, lassen sich also frei drehen. Wenn das ein Feature ist: OK.
Viele ältere RC Empfänger arbeiten mit diesem Chip, indem sie ein PPM 
Signal an den Eingang legen, wie ich es vorhatte. An den Ausgängen kommt 
dann das ganz normale 50Hz PWM Signal raus, welches bei allen Empfängern 
das gleiche ist. Da dürfte kein Drehmoment verloren gehen.

> - Wenn 6 Pads eine ISP-Buchse sein sollen, bietet es sich an, auch
> wirklich eine Buchse zu nehmen und nicht Pads in der Weltgeschichte zu
> verteilen.
Auf dem angehängten Bild kann man den Prototypen der Platine sehen. 
Unten Links sind 3 Pins des ISP und auf der Rückseite die anderen drei. 
So kann ich zum Programieren eine leicht verbogene Stiftleiste 
draufschieben. Das ist Platzsparender als einen 6Pol ISP oben auf der 
Platine.

> - Die Blockkondensatoren an den Servosteckern fehlen.
Welche Werte sollte ich am besten nehmen? Die kommen dann direkt an den 
Servostecker und sind zwischen GND und PWM Leitung? Würden zusätzliche 
10k Widerstände zwischen 4017 und Servo sinn machen?

von Philipp (Gast)


Lesenswert?

Achja, ich habe immer nur allgemein 4017 geschrieben. Explizit handelt 
es sich um den CD74HC4017-EP in SOIC-16 bauform von TI.
http://www.ti.com/lit/ds/scls550/scls550.pdf

von Bernd K. (bmk)


Lesenswert?

Merkwürdig...

Der 4017 hat lauf Datenblatt 16 Beine, im Layout sehe ich nur 14 Pads.

von Philipp (Gast)


Angehängte Dateien:

Lesenswert?

> Der 4017 hat lauf Datenblatt 16 Beine, im Layout sehe ich nur 14 Pads.
Oben ist der Attiny44, der 4017 ist auf der Rückseite und hat 16 Beine.
Ich hab im Anhang mal die eagle Files mit hochgeladen. (Version 5.9)

von Walter T. (nicolas)


Lesenswert?

Philipp schrieb:
> Welche Werte sollte ich am besten nehmen? Die kommen dann direkt an den
> Servostecker und sind zwischen GND und PWM Leitung? Würden zusätzliche
> 10k Widerstände zwischen 4017 und Servo sinn machen?

Nö, zwischen VCC und GND der Servos.

Ich hatte die Servo-Pinbelegung falsch in Erinnerung; habe den 
Multiplex-Ausgang als VCC-Pin interpretiert. So sollte das gehen.

von Philipp (Gast)


Lesenswert?

Nicolas S. schrieb:
> Nö, zwischen VCC und GND der Servos.
Ok, hatte es auch gearde in einem anderem Schaltplan gefunden. Sind 10uF 
ok? Reicht es wenn ich die links und rechts neben den 10 Stiftleisten 
einen Kondensator hinpacke, oder lieber einen einzelnen für jeden Servo?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.