Hi Willa,
was genau meinst du den mit Mini Bolt? Noch kleiner als der jetzige?
Ich würde deine Ergebnisse gerne mal bestaunen, wenns dir keine Umstände macht :D
Gruß
Chris
Druckbare Version
Hi Willa,
was genau meinst du den mit Mini Bolt? Noch kleiner als der jetzige?
Ich würde deine Ergebnisse gerne mal bestaunen, wenns dir keine Umstände macht :D
Gruß
Chris
Hi,
ich bin mit dem MLF Package noch nicht weiter. Und doppelseitig mache ich auch zum ersten Mal. Dauert also noch ein bisschen...
Aber dafür habe ich soeben den ersten xMega meines Lebens zum Leben erweckt :-D Herrlich, 32MHz bei 3.3V X-D
Leider funktioniert mein AVRISP mkII noch nicht in Bascom. Unter AVRstudio geht er, aber BASCOM (2.0.7.3) behauptet der Chip würde nicht gefunden. Muss ich da noch irgendwas besonderes beachten? Ich habe nichts gemacht außer AVRstudio 5.1 mit allen geforderten Komponenten zu installieren und danach Bascom.
Ein 0.6mm Bohrer geht übrigens perfekt, habe ich grad probiert. Wovor mir noch graust sind meine ersten MLF Gehversuche mit einem 20€ teuren IC...
Ist das ne gute Vorgehensweise...: Pads verzinnen, überschüssiges Lot mit Entlötlitze entfernen. Löthonig drauf, IC aufsetzen, 1 Pin anlöten. Mit Lötkolben und wenig Lötzinn auf der Spitze an den Seiten entlangziehen (also ca. so wie bei TQFP). Mein Lötkolben hat ne Bleistiftspitze mit 1mm Spitzendurchmesser. Das ist schon etwas "grob". Geht das wohl...? Allein das Ausrichten des ICs kommt ja schon ans Auflösungslimit meiner Augen...
Dazu habe ich noch nichts unternommen... Mit bleibt noch eine Woche das Gerät zum fliegen zu bringen, dann wird die Zeit wieder knapper.Zitat:
Hast du denn deinen Code schon angepasst?
Hallo,
um den AVRISP mk2 in Bascom einzubinden, bin ich nach der Anleitung von MCS vorgegangen (finde den Link gerade nicht).
Das wichtigste ist, dass du den LIBUSB Treiber als "filter driver" konfigurierst (und überhaupt installiert hast?!). Somit kannst du beide Programme (BASCOM & AVRStduio) verwenden. Wie genau du das einstellen musst, steht wie gesagt iwo auf der MCS-Help Seite, aber im Endeffekt ist eh alles selbsterklärend, wenn man diese Info hat ;)
Unter Bascom musst du als Programmer "USBProg Programmer / AVRISP mkII" einstellen.
Also meine Vorgehensweise ist folgende:
1. ich verzinne ein Pad
2. ich richte den Chip aus und verbinde ihn anschließend mit dem einen Pad
3. ich kontrolliere nochmals die korrekte Ausrichtung
4. ich löte ein zweites Pad auf der gegenüberliegenden Seite an
5. ich gebe einiges an Flußmittel auf jede Seite des Chips (eigentlich reicht es auf einer Seite, da des durch den Sog unter den Chip gezogen wird und auf jeder Seite wieder rauskommt)
6. ich gebe etwas Lötzinn auf die Lötkolbenspitze und fahre damit zügig (bei etwas höherer Temperatur, ca. 380°, damits schneller geht) über alle Pins einer Seite
7. ich mache eine kurze Pause, um den Chip nicht zu überhitzen
8. das gleiche für die anderen Seiten
Das geht auch mit einer 1.5mm Spitze, hab ich schon gemacht ;)
Beim Entfernen des Lots von den Pads wäre ich vorsichtig, da dabei schnell mal ein kurzes Pad an der Entlötlitze hängen bleibt.
Den Code habe ich schon ziemlich weit angepasst, momentan stimmen schon alle Werte in der Gui.
Da es bei den Timern keinen 128 Prescalewert gibt, kommt für das Auslesen der Summensignalwerte nur ein 16Bit Timer in Frage. Somit reichen die Werte von 65116 bis 65268 (Mitte bei 65192). Dadurch werden die Empf-Werte verdoppelt, also anstatt von -37 bis +37 reichen sie jetzt von -76 bis +76. Ich denke, das kommt der Regelung nur zu Gute, da man dann auch noch etwas präziser Steuern kann.
Deswegen müssen zwar einige Zeilen Code angepasst werden, aber das war ja sowieso von Anfang an klar.
Gruß
Chris
EDIT:
Hier der Link: http://avrhelp.mcselec.com/index.htm...programmer.htm
Was mir noch einfällt:
Bei mir hatte der Programmer anfangs auch nicht funktioniert, obwohl er vom PC erkannt wurde. Dann habe ich ihn an der Rückseite des PCs angeschlossen (vorher war er an der Vorderseite, das sind aber meistens nur USB-Hubs) und schon gings.
Hi William,
nur mal so zur Auffrischung meiner grauen Zellen: Was ist denn das MLF-Gehäuse?
In meinem Datenblatt gibt es den XMega32 im TQFP-Gehäuse, das ist das gleiche wie beim Mega328p. Dann im (V)QFN-Gehäuse, das ist das gleiche wie beim MPU-6000. Und dann noch das (VF)BGA-Gehäuse, mit den Balls auf der ganzen Unterseite verteilt.
Wenn du das QFN-Gehäuse des MPU meinst (das legt zumindest der angegebene Preis des Chip nahe ;-), dann ist die von dir beschriebene Vorgehensweise zumindest schon mal nicht vollkommen abwegig.
Leider (oder zum Glück ;-)) musste ich bisher solche Chips noch nie auf eine Platine ohne Lötstopplack auflöten, so dass ich (noch) nicht mit Erfahrungswerten dienen kann. Chris dürfte mehr dazu sagen können, der macht das schon sein ganzes Leben lang so :).
Auf einer mit Stopplack und Verzinnung versehenen Platine kann man sich das initiale Verzinnen der Pads sparen. Deine Methode (vorher verzinnen und mit Litze Überschuss entfernen) klingt richtig.
...
Ah, ich sehe gerade, Chris hat sich schon gemeldet, ich spare mir also erst mal das Weitere...
Ich schreibe jetzt lieber nochmal einen neuen Post, nicht dass das noch überlesen wird ;)
Die Pads vorher zu verzinnen und das überschüssige Lot wieder mit Entlötlitze zu entfernen würde ich nicht machen, da die Gefahr sehr groß ist, dass dir ein paar Pads an der Entlötlitze hängen bleiben.
Was man aber machen sollte, ist: Die Pads vom UV-Lack befreien (z.b. mit Flußmittel, da ist meistens Alkohol drin oder mit Spiritus) und nur ein Pad verzinnen. Den Vorgang, wie ich es mache, habe ich in meinem vorigen Post beschrieben.
Wie gesagt, mit meiner Methode gehts fast wie von selbst, ich hatte keinerlei Brücken o.ä.
Gruß
Chris
Danke für die Tipps :-D Den AVRISP mkII programmer habe ich jetzt zum laufen bekommen. In der Bascom Hilfe steht tatsächlich die genaue Vorgehensweise für diesen Programmer (LIBUSB usw.). Ich werde heute nachmittag versuchen die MPU zu löten.
meiner Meinung nach ist das eine Art Überbegriff für (V)QFN etc. Also für "Fummelkram". Sander hat übrigens ab nächster Woche den ATXMEGA32A4-MH (MLF bzw VQFN) vorrätig für 4.96 Euro. Und die MPU6050 ist auch vorrätig.Zitat:
Was ist denn das MLF-Gehäuse?
Ich konnte den Bolt nicht so klein bauen wie mechanisch möglich, da meine Steuerplatine zu groß war. Dadurch wäre ein großer Teil im Luftstrom der propeller gewesen. Jetzt könnte man eine platine mit 20x20mm verbauen, d.h. ich könnte bei der Gesamtgröße des Copters 3cm sparen. Das gibt bei der IMAV2012 ganze 3.4% mehr Punkte ;-D. Mir macht es Spaß neue Copter zu konstruieren, aber das Konzept vom Bolt ist für meine Zwecke optimal (schnell, klein, wendig, windunempfindlich, 50g Payload), daher werde ich wohl nichts komplett neues machen.Zitat:
was genau meinst du den mit Mini Bolt? Noch kleiner als der jetzige?
Ich habe die MPU nun gelötet. Beim Lötvorgang selber sind mir leider schon Pads der Platine abgeflogen. Vielleicht ist mein Platinenreiniger (Kontakt LR) zu aggressiv? Sofern ich das erkennen kann sind aber nur unwichtige Pads abgeflogen. Aber die ganze Sache sieht nicht gut aus. Ich habe es trotzdem einfach mal versucht und den Code von Chris verwendet, bzw. angepasst (richtig...?)
@chris: Du hast A0 von der MPU auf Masse gelegt, richtig?Code:Dim Twi_start As Byte
Open "twie" For Binary As #2 'twic
Config Twie = 400000 'twic
I2cinit #2
$lib "i2c_twi.lbx" ' we do not use software emulated I2C but the TWI
Config Scl = Porte.1 ' we need to provide the SCL pin name
Config Sda = Porte.0 ' we need to provide the SDA pin name
Const Mpuaddw = &B11010000
Const Mpuaddr = &B11010001
Wenn ich den Code laufen lasse, bekomme ich für Tmp_gyrox(1) und Tmp_gyrox(2) den Wert 114. Das ist auch bei allen anderen Achsen so. Ich würde gerne feststellen ob die MPU funktioniert, aber es gibt für mich noch zu viele Dinge im Bascom Code die ich nicht verstehe. Kann da jemand helfen?
Hi,
ich würde die Platinen lieber mit Spiritus reinigen ;)
Zu deinem Code:
Die "i2c_twi.lbx" ist beim XMega unnötig, die I2C Kommunikation ist schon in der "xmega.lib" integriert.
Hier mal mein Testcode nur für den MPU und COM2 (portc.6/7) (ungetestet):
Die Test-Ausgabe sollte einen Wert von 104 (glaube ich) haben.Code:$regfile = "xm32a4def.dat"
$crystal = 32000000
$framesize = 100
$hwstack = 100
$swstack = 100
$lib "xmega.lib"
$external _xmegafix_clear
$external _xmegafix_rol_r1014
Config Osc = Disabled , 32mhzosc = Enabled
Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
Declare Sub Init_mpu()
Declare Sub Read_mpu()
Config Com2 = 38400 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
'Config Serialout1 = Buffered , Size = 200
Open "COM2:" For Binary As #1
Dim Twi_start As Byte
Open "twie" For Binary As #2
Config Twie = 400000
Const Mpuaddw = &B11010000 'AD0 auf Masse
Const Mpuaddr = &B11010001
Dim Test As Byte
Dim Gyrox As Integer
Dim Gyroy As Integer
Dim Gyroz As Integer
Dim Tmp_gyrox(2) As Byte At Gyrox Overlay
Dim Tmp_gyroy(2) As Byte At Gyroy Overlay
Dim Tmp_gyroz(2) As Byte At Gyroz Overlay
Dim Accx As Integer
Dim Accy As Integer
Dim Accz As Integer
Dim Tmp_accx(2) As Byte At Accx Overlay
Dim Tmp_accy(2) As Byte At Accy Overlay
Dim Tmp_accz(2) As Byte At Accz Overlay
I2cinit #2
Call Init_mpu()
Config Priority = Static , Vector = Application , Lo = Enabled , Med = Enabled
Enable Interrupts
Do
Call Read_mpu()
Print #1 , Gyrox
Waitms 100
Loop
End
Sub Init_mpu()
I2cstart #2 'start condition
I2cwbyte Mpuaddw , #2 'write adress of MPU-6050
I2cwbyte 117 , #2 'Register 117 "Who am I"
I2crepstart #2 'repeated start
I2cwbyte Mpuaddr , #2 'read adress of MPU-6050
I2crbyte Test , Nack , #2 'read byte WHO_AM_I (Reg 117)
I2cstop #2 'stop condition
Print #1 , Test
I2cstart #2 'start condition
I2cwbyte Mpuaddw , #2 'write adress of MPU-6050
I2cwbyte 25 , #2 'Register 25 Sample Rate Divider (1..8 kHz)
I2cwbyte &B00000000 , #2 'Divider set to 1 (soll)
I2cstop #2 'stop condition
I2cstart #2 'start condition
I2cwbyte Mpuaddw , #2 'write adress of MPU-6050
I2cwbyte 26 , #2 'Register 26 DLPF_CFG (digital lowpass filter) Configuration
I2cwbyte &B00000000 , #2 'Bits 0..2 = 000 - ACC:260Hz, 0.0ms; Gyro:256Hz, 0.98ms ( &B00000000 )
I2cstop #2 'stop condition
I2cstart #2 'start condition
I2cwbyte Mpuaddw , #2 'write adress of MPU-6050
I2cwbyte 27 , #2 'Register 27 Gyro Configuration
I2cwbyte &B00000000 , #2 'Bits 3+4 = 00 - Full Scale Range: +/-250°/s
I2cstop #2 'stop condition
I2cstart #2 'start condition
I2cwbyte Mpuaddw , #2 'write adress of MPU-6050
I2cwbyte 28 , #2 'Register 28 ACC Configuration
I2cwbyte &B00000000 , #2 'Bits 3+4 = 00 - Full Scale Range: +/-2g / No High Pass Filter
I2cstop #2 'stop condition
I2cstart #2 'start condition
I2cwbyte Mpuaddw , #2 'write adress of MPU-6050
I2cwbyte 107 , #2 'Register 107 Power Management 1
I2cwbyte &B00001011 , #2 'No Reset / No Sleep / No Cycle / Temp_Sens: Dis / Clock Source: Z-Gyro
I2cstop #2
End Sub
Sub Read_mpu()
I2cstart #2 'X ACC
I2cwbyte Mpuaddw , #2
I2cwbyte 59 , #2
I2crepstart #2
I2cwbyte Mpuaddr , #2
I2crbyte Tmp_accx(2) , Ack , #2
I2crbyte Tmp_accx(1) , Nack , #2
I2cstop #2
I2cstart #2 'Y ACC
I2cwbyte Mpuaddw , #2
I2cwbyte 61 , #2
I2crepstart #2
I2cwbyte Mpuaddr , #2
I2crbyte Tmp_accy(2) , Ack , #2
I2crbyte Tmp_accy(1) , Nack , #2
I2cstop #2
I2cstart #2 'Z ACC
I2cwbyte Mpuaddw , #2
I2cwbyte 63 , #2
I2crepstart #2
I2cwbyte Mpuaddr , #2
I2crbyte Tmp_accz(2) , Ack , #2
I2crbyte Tmp_accz(1) , Nack , #2
I2cstop #2
I2cstart #2 'X GYRO
I2cwbyte Mpuaddw , #2
I2cwbyte 67 , #2
I2crepstart #2
I2cwbyte Mpuaddr , #2
I2crbyte Tmp_gyrox(2) , Ack , #2
I2crbyte Tmp_gyrox(1) , Nack , #2
I2cstop #2
I2cstart #2 'Y GYRO
I2cwbyte Mpuaddw , #2
I2cwbyte 69 , #2
I2crepstart #2
I2cwbyte Mpuaddr , #2
I2crbyte Tmp_gyroy(2) , Ack , #2
I2crbyte Tmp_gyroy(1) , Nack , #2
I2cstop #2
I2cstart #2 'Z GYRO
I2cwbyte Mpuaddw , #2
I2cwbyte 71 , #2
I2crepstart #2
I2cwbyte Mpuaddr , #2
I2crbyte Tmp_gyroz(2) , Ack , #2
I2crbyte Tmp_gyroz(1) , Nack , #2
I2cstop #2
End Sub
Gruß
Chris
Hi William,
die Basisadresse des MPU ist immer 68H oder 69H (Hex).
Wenn A0 auf low liegt also 68H (&H68 in BASCOM).
Um die Schreibadresse (Bit 0 gelöscht) zu erhalten musst du diese 68H 1 Bit nach links shiften und dadurch das Bit 0 mit Null auffüllen.
Da kommt dann D0H (&HD0 = &B11010000) als Wert raus.
Die Leseadresse hat das Bit 0 gesetzt, also eins mehr als die Schreibadresse, macht &HD1 (= &B11010001).
Die Werte, die du oben eingestellt hast, stimmen also.
Hi Chris,
104 als Antwort vom MPU ist korrekt.
In der Leseroutine (Read_MPU() solltest du um Zeit zu sparen die Tatsache ausnutzen, dass die ACC- und die Gyro-Register jeweils ohne Lücke hintereinander liegen.
Das machst du, indem du das Startregister für X ACC vorgibst und dann alle 6 Werte hintereinander mit I2rbyte xxx, Ack , #2 einliest.
Erst beim zweiten Byte von Z ACC kommt der Lesebefehl mit Nack und anschließendem I2Stop.
Da wir die Z-Achse nicht verwenden, kannst du weitere 2 Leseops sparen, indem du schon bei Y ACC aufhörst.
Bei den Gyros genauso, aber da der Tempsensor dazwischen liegt, muss leider hier neu aufgesetzt werden.
[edit]
Für den Mega328p sieht das konkret so aus:
Die "Skalierung" am Ende der Routine muss eventuell nicht sein, wenn die Algorithmen entsprechend angepasst werden.Code:'===Read MPU-6050===============================================================
Sub Read_mpu
'==All registers are read in one burst read operation, so FIFO has to be enabled
' wir müssten auf den FIFO-Interrupt warten und dann burst-lesen, aber der INT ist nicht verdrahtet :-(
' also kein burst mode zum Lesen
'==Read only 2 really used ACC-Axis from MPU-6050==
I2cstart 'start condition
I2cwbyte Mpuaddw 'write adress of MPU-6050
I2cwbyte 59 'Register 59 ACCEL_XOUT_H
I2cstart 'repeated start
I2cwbyte Mpuaddr 'read adress of MPU-6050
I2crbyte Meas_accy(2) , Ack 'read byte ACCEL_XOUT_H (Reg 59)
I2crbyte Meas_accy(1) , Ack 'read byte ACCEL_XOUT_L (Reg 60)
I2crbyte Meas_accx(2) , Ack 'read byte ACCEL_YOUT_H (Reg 61)
I2crbyte Meas_accx(1) , Nack 'read byte ACCEL_YOUT_L (Reg 62)
I2cstop 'stop condition
'==Read all 3 Gyro-Axis from MPU-6050==
I2cstart 'start condition
I2cwbyte Mpuaddw 'write adress of MPU-6050
I2cwbyte 67 'Register 67 GYRO_XOUT_H
I2cstart 'repeated start
I2cwbyte Mpuaddr 'read adress of MPU-6050
I2crbyte Meas_gyrox(2) , Ack 'read byte GYRO_XOUT_H (Reg 67)
I2crbyte Meas_gyrox(1) , Ack 'read byte GYRO_XOUT_L (Reg 68)
I2crbyte Meas_gyroy(2) , Ack 'read byte GYRO_YOUT_H (Reg 69)
I2crbyte Meas_gyroy(1) , Ack 'read byte GYRO_YOUT_L (Reg 70)
I2crbyte Meas_gyroz(2) , Ack 'read byte GYRO_ZOUT_H (Reg 71)
I2crbyte Meas_gyroz(1) , Nack 'read byte GYRO_ZOUT_L (Reg 72)
I2cstop 'stop condition
Get_gyrox = Get_gyrox / 64 ' auf 10 bit schrumpfen
Get_gyroy = Get_gyroy / 64 ' auf 10 bit schrumpfen
Get_gyroz = Get_gyroz / 64 ' auf 10 bit schrumpfen
Get_gyroy = Get_gyroy + 434 ' (512 - 68) die gelesenen Werte in die Nähe von 512 skalieren
Get_gyrox = Get_gyrox + 589 ' (512 + 77) damit Willas Algorithmen stimmen
Get_gyroz = Get_gyroz + 464 ' (512 - 48)
Get_accx = Get_accx / 64 ' auf 10 bit schrumpfen
Get_accy = Get_accy / 64 ' auf 10 bit schrumpfen
Get_accx = Get_accx + 500 ' (512 +- xx) die gelesenen Werte in die Nähe von 512 skalieren
Get_accy = Get_accy + 500 ' (512 +- xx) damit Willas Algorithmen stimmen
End Sub
Ich habe jetzt auch meine Platine, es hat solange gedauert, weil ich dem Chris eine Adresse übermittelt habe, wo die Postleitzahl einen Zahlendreher hatte und die Post so lange gebraucht hat bis sie es gemerkt hat.:-)
Ich habe sie auch schon bestückt und wie Willa hatte ich Probleme beim Sensor. Es gab einen Kurzschluß in der Betriebsspannung durch den Metallboden des MPUs.
Jetzt möchte ich gerne etwas ausprobieren. Ihr habt ja wohl Software die funktioniert, wie komme ich da drann?
gibt es vielleicht ein Programm das die Leuchtdioden der Reihe nach aufleuchten lässt?
Ich habe auch die Vorwiderstände der LED 1 und 3 auf 390 Ohm verkleinert, damit sie heller leuchten.
Gruß Bernd
hi, ich hab mal ein blink programm angehängt.
Ich habe nochmal etwas gelötet... Jetzt bekomme ich "104" als antwort in der variablen "Test". Aber alle anderen Variablen sind nun "0". Immerhin schon mal was anderes. Irgendwie antwortet die MPU, aber nicht ganz korrekt...
Wenn die I2C Komunikation nicht stimmt (MPU antwortet nicht) kann es passieren das man trotzdem diese 104 zurückbekommt. Ist mir bei meinen Copter schon früher mal aufgefallen. Man schreibt ja die 104 ins I2C Register, wenn die Komunikation nicht OK ist ändert sich darin auch nix und man bekommt die 104 auch wieder zurück.Code:
I2cstart #2 'start condition
I2cwbyte Mpuaddw , #2 'write adress of MPU-6050
I2cwbyte 117 , #2 'Register 117 "Who am I"
I2crepstart #2 'repeated start
I2cwbyte Mpuaddr , #2 'read adress of MPU-6050
I2crbyte Test , Nack , #2 'read byte WHO_AM_I (Reg 117)
I2cstop #2 'stop condition
Print #1 , Test
Hmmm, wenn ich die Kabel von I²C entferne bekomme ich als Antwort in Test "114", mit angeschlossenen Kabeln "104". Also irgendwas passiert da... Es könnte aber sein, dass die Kondensatoren (2.2nF und 10nF) etwas gelitten haben beim mehrfachen ein/auslöten. Ich werde die mal austauschen.Zitat:
Man schreibt ja die 104 ins I2C Register, wenn die Komunikation nicht OK ist ändert sich darin auch nix und man bekommt die 104 auch wieder zurück.
Ihr habt den MPU bei der Initialisierung aus dem Sleepmode geholt, ja?
Nach Power On steht die Kiste erst einmal und muss davon überzeugt werden, Werte auszugeben.
Das Powermanagement-Register 107 muss dafür passend gesetzt werden. (Ich meine das aber schon bei eurem Code irgendwo gelesen zu haben)
Code:I2cwbyte 107 'Register 107 Power Management 1
I2cwbyte &B00001011 'No Reset / No Sleep / No Cycle / Temp_Sens: Dis / Clock Source: Z-Gyro
Hast du den mal meinen oben geposteten Code versucht? Der funzt bei mir zu 100% ;) Wenns bei dir nicht geht, liegts wohl an der HW.
Hast du einen MPU6000 oder MPU6050?
Gruß
Chris
MPU-6000 oder MPU-6050 muss egal sein, wenn die Anschlüsse, wie im Schaltbild von Bernds Design gezeigt, verlötet sind.
Ja, genau auf die "Verlötung" wollte ich hinaus. Willa, welche Pins haben bei dir welches Potential und welchen Chip hast du?
Gruß
Chris
Er hat einen MPU-6000.
Gerade habe ich mit AVR Studio 5.1 das hex-File "Erster Test" von Willa aufgespielt.
Hurra !! ES BLINKT !! Tiefe Dankbarkeit
Ist es möglich die Software zu bekommen, damit ich sehen kann, warum das passiert?
Wie geht es jetzt weiter?
Gruß Bernd
Ich habe das ganze noch ein wenig überarbeitet:-)
von Chris kam noch die Anregung mit möglichst wenig Anschlüssen auszukommen und den Empfänger mit 3V3 zu versorgen, wenn mit mehr Zellen geflogen wird. Dafür gibt es jetzt eine Brücke.
Was ich schon am Anfang hätte sagen sollen, auch am Sensorboard gibt es eine Brücke um die Adresse einstellen zu können, aber das habe eh schon alle mitbekommen.
So, ich habe jetzt meine GUIDE bestückt und den Sensor angeschlossen... ab jetzt kann ich mitreden ;-)
Aber programmiert ist noch nichts, nur gelötet und die Spannungen kontrolliert.
Anhang 22003 Anhang 22004 Anhang 22005
Wenn ihr den Reset-Taster irgendwo zu kaufen gefunden habt, dann gebt mir bitte Bescheid. Ich habe nämlich mit gutem Grund zwei verschieden große Taster in meinen Layouts und Schaltbildern vorgesehen. Der profane Grund ist: den Kleinen gibt es nirgends zu kaufen, den Großen hat Conrad im Prgramm.
Ich habe Muster des Kleinen vom Hersteller (oder Vertrieb?) bekommen, aber auf die Frage, wo ich diese tollen Schalter kaufen kann, kam leider keine Antwort.
... ja, ich weiß, dass keiner diesen Schalter wirklich braucht und er deshalb sowieso nicht bestückt wird :-).
Schlimmer noch, wenn bei diesen Resonanzen es immer wieder ein Reset gibt :-)
Ich male gerade wieder am Board. Ich versuche mein Glück mit 2mm Steckabstand. Mir sind die Kleinen zu unsicher.
Gruß Bernd
Hi Bernd,
als ich die Fotos hochgestellt habe, ist mir wieder die "Diskussion" über "Kupfer lieber wegmachen" oder "Umwelt schonen" eingefallen, wo du auf "Kupfer weg, um Gewicht zu sparen" gepocht hast...
Wie komme ich ausgerechnet jetzt darauf?
Na ja, mit Blick auf das 2. Foto, wo man die IMU-Platine von der Seite sieht, kommen mir so meine Zweifel, ob die zusätzliche Platine - auch ohne Kupferflächen - mit ihren Kabeln zum Anschluss, im Endeffekt nicht viel zu schwer ist... ;-) :-)
Ich habe übrigens nur die Bauteile bestückt, die ich wirklich benötige. Die Akkuspannung mal außen vor gelassen. Da fehlt mir noch der Stabi.
Hallo Harald,
ich werde meine Platine noch dünner schleifen :-)
Sooo schlimm wackeln meine Motoren jetzt nun auch wieder nicht. :)
Ich habe jetzt mal den Versuch unternommen, die Motoren zusammen mit den Propellern auszuwuchten.
Motor für Motor, nicht alle zusammen.
Zuerst den Propeller so lange in kleinen Winkeln gedreht, bis die Vibrationen am Geringsten waren, dann mit Gewebeband auf dem Propeller die Unwucht weiter verringert.
Oder hätte ich mit dem Propeller auf maximale Unwucht gehen müssen?
ich glaube so brauchst du am wenigsten Ausgleichsmasse.
So jetzt für alle die mit den kleinen Pads Probleme hatten, eine Version mit 2mm Steckern.
Hi Harald,
ich habe ähnliche Schalter bei Farnell gesehen.
Typ : MULTICOMP - TM-533I-Q-T/R - TASTSCHALTER, SPNO, SMD
Gruß
Sven(2)
Hallo Sven(2),
der Farnell Typ ist 1,5 mal größer als der von mir verwendete. Trotzdem danke für den Hinweis.
Die Maße meines Musters sind 3,5x4,2 mm.
Gefunden habe ich den Taster letztes Jahr hier:
http://wppro.com/content/de/produkte...oduct/516.html
So meiner ist heute zum 1. mal geflogen.
und zwar von A nach p, dann nach r und i, gelandet ist er nach 1er Minute in l.
:-)
Gruß Bernd, der auf Software zum ausprobieren wartet.
Mist! Ich hab´s schon immer geahnt, jetzt weiß ich es: Ich bin im falschen Film! :(
Ich bitte um Auflösung der Insider-Rätsel. :-)
"Meiner" kann sich nicht auf einen Quadrocopter mit der neuen Platine beziehen, denn du hast ja noch keine Software dafür, wie du schreibst.
Alle deine anderen Copter (von denen wir wissen) sind nicht zu ersten Mal in der Luft.
Mehrere Postings vorher beziehen sich auf kleine Taster... du willst uns nicht erzählen, dass dein Taster 1 Minute geflogen ist, oder? ;-)
Und die Positionsangaben entziehen sich mir vollkommen...
Jetzt blinkt mein XMega ebenfalls :-)
Aber die Platine liegt wie angeschweißt auf dem Schreibtisch, da fliegt nix ;-)
Vielleicht hat es bei mir ja deshalb funktioniert, weil ich es zweimal aufgespielt habe. HEX, HEX :-)
Ah, jetzt, ja!! Eben hat´s geschnackelt :-)
Ok, dann ist wenigstens einer heute anständig von A nach l geschickt worden... #-o8-[ :oops:
Das hilft schon mal sehr viel weiter, da weiss ich jetzt wo ich gucken muss. Dann sind wohl doch ein paar Pins noch nicht richtig benetzt.Zitat:
Hast du den mal meinen oben geposteten Code versucht? Der funzt bei mir zu 100% :wink: Wenns bei dir nicht geht, liegts wohl an der HW.
Ich muss zur Arbeit, hab mal schnell die zwei Kondensatoren nachgemessen: Über C14 liegen 3.3V an, über C13 0.3V. Ich gucke nachher nochmal genauer.Zitat:
Ja, genau auf die "Verlötung" wollte ich hinaus. Willa, welche Pins haben bei dir welches Potential und welchen Chip hast du?