PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATMega8: PWM von Timer2 und ISP



ra.graf1988
07.08.2012, 08:28
Hallo zusammen,
Ich möchte 3 Servos mit einem ATMega8 ansteuern, weil ich gelesen hab, dass er 3 PWM Ausgänge hat.
Nach Lesen des Handbuchs und des Datenblatts habe jedoch festgestellt, dass sich der 3. PWM Ausgang: OC2 einen Pin mit MOSI teilt: PB3.

Jetzt zu meiner Frage. Ist es möglich PB3 für beides zu nutzen, also PWM Ausgang und ISP-Schnittstelle?


Gruß

Rainer

021aet04
07.08.2012, 09:17
Es ist möglich. Achte aber darauf das du das Servosignal trennen kannst, damit du ohne Probleme programmieren kannst.

MfG Hannes

ra.graf1988
07.08.2012, 09:29
Ok, aber was meinst du mit trennen?
Hardwaremäßig: z.B. mit einem Jumper einmal den Pin PB3 mit dem Servo verbinden und einmal mit dem ISP Adapter.

oder

Softwaremäßig: Das PWM Signal für den Servo per Knopfdruck deaktivieren, also Timer auschalten und PB3 auf Eingang programmieren?

021aet04
07.08.2012, 09:42
Hardwaremäßig trennen. Ansonsten könnte es Fehler bei der Übertragung kommen und/oder der ervo kaputt gehen.

Wärend der Programmierung wird kein Programm (falls am µC sich eines befindet) ausgeführt.

MfG Hannes

Kampi
07.08.2012, 09:43
Ein Resettaster sollte reichen.
Einfach den Reset beim programmieren gedrückt halten.

ra.graf1988
07.08.2012, 09:48
Hm, Ok Ich mache einen Jumper und verbinde so PB3 einmal mit dem Servo und wenn ich Programmieren will, verbinde ich PB3 mit meinem ISP Adapter.

Macht das meinem Programmer nichts, wenn ich das Kabel anstecke und dann bekommt er auf seinem MOSI Anschluss ein PWM Signal?

Gruß

ra.graf1988
07.08.2012, 09:52
Oh, Hallo Kampi!

verstehe ich das richtig?
eine andere Möglichkeit ist: einen Reset Taster einbauen. Dann, wenn ich Programmieren will den Resettaster drücken und halten. Meinen Programmer anschließen und flashen. Das Kabel abziehen und den Resettaster loslassen?

021aet04
07.08.2012, 10:17
Ob das funktioniert weiß ich zwar nicht, ich würde aber den Servo trennen. Der Grund ist das bei der Datenübertragung sich eine Folge wie ein Servosignal aussieht der Servo auf die Anschläge fahren kann und somit den Servo zerstören kann. Ist einfach zu machen und sicherer. Es reichen 2 Pads die man mit einem Lötpunkt verbindet, oder eben mit einem Jumper zum Stecken.

Der Programmer macht alles benötigte selbst (Reset Leitung schalten,...)

MfG Hannes

ra.graf1988
07.08.2012, 10:20
Ok den Jumper hab ich jetzt schon in meinem Schaltplan.
Aber noch mal, wenn ich den Programmer anstecke, kriegt der doch was von dem PWM Signal ab, wenn ich den "Flashvorgang" noch nicht gestartet hab.
macht das dem Programmer was aus?

021aet04
07.08.2012, 10:50
Normalerweise nichts. Ich habe noch nie Probleme gehabt. Wenn du sichergehen willst das nichts passiert kannst du den Jumper wie einen Wechsler ausführen. So wie hier zu sehen http://i240.photobucket.com/albums/ff102/jackthenewbie/OC-Jumper-Handbuch.jpg

Mittlere Anschluss ist der µC und die beiden Äußeren Servo bzw Programmer.

MfG Hannes

ra.graf1988
07.08.2012, 20:59
Ok, Danke!
Ich habe jetz mal einen Entwurf meines Schaltplans online gestellt:
https://www.roboternetz.de/community/threads/58812-Schaltplan-meines-ersten-Roboters (https://www.roboternetz.de/community/threads/58812-Schaltplan-meines-ersten-Roboters)
passt das so?

Gruß

Rainer