Archiv verlassen und diese Seite im Standarddesign anzeigen : Pro Bot 128 - Problem mit Ansteuerung des rechten Motors
Hallo,
ich habe ein Problem mit der Ansteuerung des rechten Motors bei der Pro Bot 128 Bausatz Variante.
Bei z.B: folgenden Programm, wo ja eigentlich beide Motoren stehen bleiben müssten (DRIVE(128,128)), dreht sich der rechte trotzdem noch.
Sub main()
DRIVE_INIT()
DRIVE_ON()
DRIVE(128,128)
End Sub
Und auch wenn ich beide einschalte, aber eine geringe Geschwindigkeit vorgebe, dreht sich der rechte Motor immer noch mit "Vollgas".
An was könnte das liegen (Anschlusskabeln der Motoren sind richtig angelötet, Halterungen für die IC's sind richtig auf der Platine und die IC's selbst sitzen auch richtig).
Ich bin für jeden Tipp dankbar.
Mfg
erik95
Ist das bei den DemoProgrammen auch so??
Mfg
bnitram
Ja, bei der Drive-Demo drehen sich zwar beide aber der rechte Motor bekommt doppelt soviel Spannung wie der linke Motor (1.3 V links, 2.6 V rechts).
So verhält es sich eigentlich bei allen Programmen - der rechte Motor bekommt immer 2,6 V....
Mfg
erik95
Habe mir heute die beiden IC's für die Motoransteuerung neu bestellt, da ich glaube, dass das Problem an denen liegt. Zuvor habe ich noch die Anschlussdrähte des rechten Motors an den Lötstellen des linken Motors auf der Platine angelötet -> da der Fehler mitgewandert ist, kann ich einen Motordefekt ausschließen.
mfg
erik95
schau mal an den leitungen zur clock... (COM1) eventuell ist da ein kurzer drinnen... so wie ich das verstanden habe wird darüber die geschwindigkeit der motoren gesteuert... du hast auf den leitungen normal eine sinusförmige kurve die von dem ersten IC (IC1) in einen binären code umgewandelt wird... dann sieht das in etwa so aus: 1000100010001000100010001...etc... umso mehr nullen du hast umso langsamer dreht sich der motor... nun invertiert der IC1 allerdings noch das signal... also er dreht das signal einfach um... da wäre es interessant zu wissen in welche richtung sich der motor dreht? dreht er sich in beide richtungen mit voller pulle? weil wenn du nun auf dem clock (vor oder auch hinter dem IC1) nen kurzen hast und die spannung immer anhebst.. oder wenn kein kontakt besteht dann bekommst du vollgendes : 11111111111111111111111111111 was volle pulle bedeutet.... hoffe ich konnte es etwas anschaulich erklären....
lg
Mir ist gerade aufgefallen das ich die Richtung des rechten Motors auch nicht bestimmen kann also er dreht sich -egal ob ich eine andere Richtung einstelle- immer nur in eine Richtung und dafür mit Vollgas!
mfg
erik95
dann ist es so wie ich eben beschrieben habe... der IC 2 bekommt an den buss nur ne feste 0 oder eine feste 1..... was genau kann ich leider nicht sagen.... habe jetzt kein datenblatt zur hand... aber daraus kannst dus erlesen....
versuch einfach mal alle kontzakte nochmal mit einem durchflussmesser und mit der lupe genau zu untersuchen... ob nicht doch irgendwas an den kontakten nicht stimmt....
und du kannst über Timer_T1PWM (glaub ich musst du auch nochmal nachlesen) mal ne volle ansteuerung übertragen und messen was am IC 1 ankommt und dann mal garnicht ansteuern und dann nochmal messen....
viel glück =)
Habe nochmal alle Kontakte geprüft da dürfte der Fehler nicht liegen...
dann habe ich einmal folgenden Code auf den Roboter übertragen:
#define Motor_Enable 15
Sub main()
Dim PWM_Counter As Integer
Timer_T1PWMX(255,128,128,PS_8)
Port_DataDirBit(Motor_Enable,PORT_OUT) Port_WriteBit(Motor_Enable,1)
AbsDelay(60000)
Port_WriteBit(Motor_Enable,0)
End Sub
Ich kenne mich mit diesem Timer_T1PWMX eigentlich nicht aus
aber die beiden 128 Werte heißen ja ,dass beide Motoren stehen sollen (PWM Channel A = 50/50,PWM Channel B = 50/50) oder ?
Jedenfalls dreht sich der rechte Motor trotzdem (es liegen 2,6 V an).
Un am IC1 liegen 4,1 V an. Beim linken Motor 0 V. Ich wollte das ganze jetzt noch mit Timer_T1PWB(255) und Timer_T1PWA(255), also mit voll Gas ? messen, aber meinen Batterien sind zu leer geworden (es dreht sich gar kein Motor mehr).
lg [/code]
hi... habe jetzt die datenblätter vor mir.... und ich muss mich entschuldigen ich habe ne info falsch gesagt....
also bei einem signal der so aussieht:
10001000100010001 sollte der motor nach hinten fahren natürlich =)
nur bei einem signal der gleich an und aus ist also so:
101010101010101010101 (Timer_T1PWMX(255,128,128,bla)
und außerdem habe ich ausversehen die ICs vertauscht... also der IC2 konvertiert ein analoges signal in ein digitales und der IC1 macht die H brücke für die motoren....
entschuldigung....
nun zu deinem problem:
in welche richtung fährt denn der Motor vor oder zurück?
bei vor:
muss am IC 1 also der L293D am pin 2 ein HIGH anliegen und am PIN 7 ein LOW. du hast kein Oszilloskop oder? ansonsten arbeite einfach weiterhin mitt voller pulle (HIGH oder LOW) oder 128... (theoretisch müste dein messgerät die resultierende spanung messen also genau die hälfte zwischen LOW und HIGH )
also nun mal kurz was ich jetzt machen würde:
-programm schreiben mit Timer_T1PWMX(256,256,256,PS_8); (256 an chenal A und B sollte funktionieren ansonsten 255)
-an IC1 an PIN 2,7,15 und 10 Spannung messen.
-alle 4 werte notieren
-dann programm schreiben mit Timer_T1PWMX(256,1,1,PS_8); (vllt geht ja auch die 0) =)
-an den gleichen pins messen.
und nun nurnoch vergleichen...
also die Pins 15 und 10 sind für den linken Motor zuständig und die ins 2 und 7 für den rechten... wenn alles richtig funktionieren würde dann müssten also pin ^15 und 7 jeweils die gleichen werte haben und die 2 und 10
müssen die gleichen werte haben...
wenn du an PIN 2 und 7 nen wesentlich höheren wert hast als an den pins 10 und 15 dann hast du nen kurzen irgendwo... wenn nicht misst du am besten das gleiche nachmal an den PINs 1und5 vom IC 2
wenn du da beim vorwärtslauf genau das gegenteil misst wie beim rückwertslauf (wieder beide programme starten) dann kommen die signale richtig an und der IC2 ist wahrscheinlich defekt.
meld dich mal wenn du das gemacht hast
ps: wenn du die motoren abklemmst dann verbrauchst du weniger energie =) ist es bei dir auch so das die batterien beim probot extrem schnell schlapp machen?
Also ich hab jetzt mal gemessen und da bei
Bei Timer_T1PWMX(256,128,128,PS_8)
Pin 2-7 -> 3,7V
Pin 10-15 -> 0V
soviel Unterschied besteht muss ja irgendwo ein Kurzschluss sein....
werde mal schauen ob ich einen finde, wenn ja oder auch nein melde ich mich wieder.
Bei den anderen Messungen kam raus (!!auch wenn ich nicht sicher bin ob diese Werte stimmen, denn als sich die Motoren bei der oberen Messung nicht mehr drehten -> habe noch immer die gleichen Batterien ;-)!!)
kam Pin 2-7 -> 3,73V
Pin 10-15 -> 4,35V raus.
Trotzdem hier die Werte:
Bei Timer_T1PWMX(256,1,1,PS_8);
Pin 2-7 -> 3,73V
Pin 10-15 -> 4,35V
Bei Timer_T1PWMX(256,256,256,PS_8);
Pin 2-7 -> 3,73V
Pin 10-15 -> 4,35V
und ja bei mir sind die batterien auch ziemlich schnell leer gesaugt
hi!
naja es ist jedenfall auffällig das du da immer 3,7V hast....
ähm misst du gegen GND oder gegen den beiden PINs?
bin heute abend/ nacht erst wieder online.... bis dann
hi,
ich messe gegen die beiden PINs
lg
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.