Hallo Hans,
mach doch mal Vorgaben wo der Empfänger, die LEDs, der Sensor und die Motoren am besten angeschlossen sein sollen, dann male ich eben nochmals, das sollte kein Problem sein.
Gruß Bernd
Hallo Hans,
mach doch mal Vorgaben wo der Empfänger, die LEDs, der Sensor und die Motoren am besten angeschlossen sein sollen, dann male ich eben nochmals, das sollte kein Problem sein.
Gruß Bernd
Hi,
@Bernd:
warum willst du den nochmal ein Layout machen? Ich denke, zum ausprobieren reicht das jetzige doch locker, einzig die kleinen Anschlusspads sind etwas fummelig. Die externen Anschlüsse sind doch eigentlich schon alle festgelegt und passen!? Also ich habe mich, bis auf die 3 LEDs, an deine Vorgaben gehalten und bin schon ein paar mal erfolgreich geflogen
@Willa:
Meinen Code kannst du gerne haben, ist nicht viel dabei:
Je nachdem, wieviele Motoren du angeschlossen hast, kannst du ja evtl. wieder einen Timer ausschalten.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 Serial1charmatch() Config Com2 = 38400 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8 Config Serialin1 = Buffered , Size = 100 , Bytematch = 13 Config Serialout1 = Buffered , Size = 100 Open "COM2:" For Binary As #1 '--Motor Constants-- Const Pwm_mot_off = 20000 Const Pwm_mot_max = 60000 '--PWM Settings-- Config Tcd0 = Pwm , Prescale = 1 , Comparea = Enabled , Compareb = Enabled , Comparec = Enabled , Compared = Enabled , Event_source = Off , Event_action = Off , Event_delay = Disabled , Resolution = 16 Config Tcd1 = Pwm , Prescale = 1 , Comparea = Enabled , Compareb = Enabled , Event_source = Off , Event_action = Off , Event_delay = Disabled , Resolution = 16 Tcd0_cca = Pwm_mot_off '############################## Tcd0_ccb = Pwm_mot_off Tcd0_ccc = Pwm_mot_off Tcd0_ccd = Pwm_mot_off Tcd1_cca = Pwm_mot_off Tcd1_ccb = Pwm_mot_off Dim A As String * 100 Dim B As Word Config Priority = Static , Vector = Application , Lo = Enabled , Med = Enabled , Hi = Enabled Enable Interrupts Print #1 , "START" Do Loop End Sub Serial1charmatch() Input #1 , A , Noecho B = Val(a) Print #1 , B If B > 0 And B < 65000 Then Tcd0_cca = B Tcd0_ccb = B Tcd0_ccc = B Tcd0_ccd = B Tcd1_cca = B Tcd1_ccb = B End If End Sub
Die Werte habe ich von HTerm aus gesendet, ohne LF, nur mit CR am Ende.
Gruß
Chris
Es ging um das 4-Motoren-Board! Für vier Motoren braucht man keine zwei Timer. Die Version mit 6 Motoren ist schon eine gute Basis. Die LEDs an PortB, die Pads größer machen und vom PortC alle Pads zugänglich machen.
Aber nochmal, wegen mir braucht gar nichts geändert zu werden.
@Bernd,
eine Mail von Dir steht noch aus. Es ging um das gleiche Thema. Du kannst auch gern NEIN reinschreiben.
Hans
Hm ja klar, für vier Motoren reicht TCC0. Da das Prog aber sowieso sonst nichts macht, ist es ja eigentlich egal, wieviele Timer man benutzt
Hast du den meine Platinen schon bekommen, Hans?
Gruß
Chris
Meins schonDa das Prog aber sowieso sonst nichts macht
Der Briefträger hat heute morgen geliefert. Vielen Dank!
Hans
Hallo Willa,
ich habe mir dein Layout einmal angesehen.
Willst du auf den Quarz verzichten?
Dein Empfängeranschluß hat Minus auf dem mittleren Pin, ich kenne dort nur Plus ( erspart Ärger beim Verpolen )
und der Anschluß liegt nicht auf PA5, so hat es Harald vorgegeben.
Bei einer Zelle halte ich es für besser die Empfängerspannung direkt vom Akkueingang zu holen, um den Spannungsverlust des 3V3 Reglers zu vermeiden.
Wie flexibel sind eigentlich die LEDs anschliesbar, oder wo dürfen sie überhaupt nicht hin?
Bei den Motoranschlüssen habe ich jetzt gelernt wäre es besser bei PD0 mit Motor1 zu beginnen (bis PD5 für Motor6), damit die 4Motorer nur einen Timer brauchen.
Gruß Bernd
Gruß Bernd
Hi Bernd,
danke dass du dir die Zeit genommen hast.
Ja, denn richtig zeitkritisch (für meine Anwendungen) ist das ganze nur bei einer UART Übertragung mit 115200 Baud (z.B. Satellitenempfänger). Ich habe das bereits mit dem AtXmega testen können, und die Übertragung funktioniert auch wenn ich die beiden Controller extrem herunterkühle. Also brauchts dafür keinen Quarz.Willst du auf den Quarz verzichten?
Das habe ich von deinem Schaltplan so übernommen (so wie sonst auch 99.9%). Das wird eh nicht gesteckt, sondern gelötet. So ein Stecker rüttelt sich im Flug schnell mal ab.Dein Empfängeranschluß hat Minus auf dem mittleren Pin, ich kenne dort nur Plus ( erspart Ärger beim Verpolen )
Ich nutze für den Satellitenempfänger den Pin RXD0 / PC2und der Anschluß liegt nicht auf PA5, so hat es Harald vorgegeben.
Diese Platine ist für ein 3S Hexacopter gedacht.Bei einer Zelle halte ich es für besser die Empfängerspannung direkt vom Akkueingang zu holen, um den Spannungsverlust des 3V3 Reglers zu vermeiden.
Soweit ich weiss kann man jeden Pin benutzen der keine von uns genutzte Funktionen hat.Wie flexibel sind eigentlich die LEDs anschliesbar, oder wo dürfen sie überhaupt nicht hin?
Das ist ja nur eine Sache der Programmierung bzw. der Beschriftung. Beides lässt sich ja nachträglich auch ändern.Bei den Motoranschlüssen habe ich jetzt gelernt wäre es besser bei PD0 mit Motor1 zu beginnen (bis PD5 für Motor6), damit die 4Motorer nur einen Timer brauchen.
Was kann man den Größenmäßig noch herausholen? Die Unterseite der Platine (MPU etc.) ist noch ziemlich leer. Vielleicht kann man die LEDs dort hin verfrachten? Aber dann braucht man wieder 3 vias mehr. Keine Ahnung ob das die Kosten oder Fehleranfälligkeit in der Produktion steigert... Allerdings ist so ein via auch beinahe so groß wie eine 0603 LED...
Viele Grüße,
William
Viele Grüße, William
-> http://william.thielicke.org/
Lesezeichen