Hallo Radbruch,
ich wollte fragen, wo genau am Asuro der gemeinsame Punkt von T12,D16,R20 und PC0 (23) ist?
Ich Suche nun schon eine Weile, find aber nichts!
Vielen Dank!
LG
Hallo Radbruch,
ich wollte fragen, wo genau am Asuro der gemeinsame Punkt von T12,D16,R20 und PC0 (23) ist?
Ich Suche nun schon eine Weile, find aber nichts!
Vielen Dank!
LG
Hallo
Wie weiter oben schon beschrieben ist das kein echter "Punkt", es ist vielmehr an allen Pins das selbe Signal. Beste Stelle zum Anzapfen des Signals wäre deshalb Pin 23 (PC0) am Mega8-Sockel für die rechte BackLed, bzw. Pin 24 (PC1) für die Linke (Mega8 vor dem Löten rausziehen!).
Wenn man zusätzlich den PD7 auf Ausgang/Low setzt, blinkt die entsprechende BackLED mit dem an PC0/1 erzeugten Servosignal.
Gruß
mic
https://www.roboternetz.de/community...?53073-Pin-PC0
Geändert von radbruch (04.05.2011 um 19:44 Uhr) Grund: Link eingefügt
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Ich habe die PWM-Leitung jetzt an PC0 gelötet und die BackLED ausgelötet, aber es passiert nichts, wenn ich den asuro einschalte. ich versuche das ganze mit folgendem programm:
#include "asuro.h"
int main()
{
int j=0;
Init();
while (1 == 1)
{
for (j=0;j<70;j++)
{
StatusLED (RED);
BackLED (OFF,ON);
Msleep (1);
BackLED (OFF,OFF);
Msleep (100);
}
for (j=0;j<70;j++)
{
StatusLED (YELLOW);
BackLED (OFF,ON);
Msleep (2);
BackLED (OFF,OFF);
Msleep (100);
}
}
}
eingentlich sollte der servo doch nun alle 7 sekunden von der einen extrem stellung in die andere fahren?!
habt ihr eine Idee woran das liegt, dass er nichts tut?
Vielen Dank!
LG
ich habe jetzt mal mit dem multimeter die spannung zwischen ic0 und masse gemessen, hier erhalte ich immer 7s lang 0,07V und 7s lang 0,11V, also müsste sich der servo doch bewegen?!
Geändert von oliver123 (06.05.2011 um 18:36 Uhr) Grund: Neue Erkenntnis
Die BackLED hätte auch drin bleiben können, sie stört bei der Servoansteuerung nicht. Je nach Doku sollte der Servoimpuls zwischen 0,5 und zwei Millisekunden lang sein. Meine Billigservos lagen immer bei etwa 0,5 bis 1,5ms. Der Impuls sollte alle 20ms wiederholt werden. Für eine Impulslänge von 1ms mit einer 36kHz-Library würden sich dann folgende Sleep()-Parameter aufdrängen:
Sleep(36) als Impulslänge
Msleep(19) als Pause
50 Impulse würden dann 1 Sekunde dauern.
Zum Testen einer Position kann man das Servo von Hand vorsichtig auf die jeweiligen Endpositionen drehen und dann mit dem Impuls ansteuern:
http://www.youtube.com/watch?v=CaVxa6zH2bI
Geändert von radbruch (06.05.2011 um 18:54 Uhr)
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
danke für deine schnelle hilfe!
ich habe deine pausen eingebaut in mein programm, aber der servo bewegt sich trotzdem nicht. -.-
ich habe die pwm leitung an der abgerundeten seite von d16 (rechte BackLED) auf der asuro platine eingelötet und die versorgung des servo erfolgt über ein externes batterie paket mit 4,5V. habe ich hier irgendeinen fehler gemacht?
danke im voraus!
aber ich muss doch das signal des ic's an der positiven seite abgreifen (abgerundet), dort habe ich die leitung ja im moment angeschlossen. die flache seite ist doch an masse angeschlossen?
Lesezeichen