Fahrtregler auf Arduino Basis

    • Offizieller Beitrag
    Zitat

    Mal ne andere Frage. Wer kann mir beim designen meiner Leiterplatten helfen? Ich komme mit Eagle nicht klar. Kennt jemand ein gutes Tutorial?


    Wenn ich einen Praktikanten kriege, wird der auch gezwungen, dass er mit Eagle arbeitet. :D
    Entweder auf der Homepage von Eagle (http://www.cadsoft.de) oder nach der Installation von der CD ist ein Tutorial dabei. Da wird man an der Hand genommen und Schritt für Schritt zu einer kleinen Platine geführt. Dabei lernst Du alle relevanten Schritte kennen.
    Wenn Du damit nicht klarkommst, dann gib' bescheid. Wir geben Dir dann schon einen Schubs, damit Du den Einstieg findest.

    (Soweit ich weis, gibt es für den BTN7960B bei den Eagle-Libraries kein vorgefertigtes Bauteil. Ich bin derzeit bei Tina. Wenn ich wieder zuhause bin, schicke ich Dir meine Bibliothek mit dem BTN7960 drin. Den Rest von dem Vogelfutter findest Du in der Bibliothek RCL. (Kann auch RLC heissen...).
    Gib' bescheid, wenn Du beim Eagle irgendwo nicht weiterkommst! Wäre schade, wenn Du Eagle zugusten von einem anderen Anbieter liegen lassen würdest und wir könnten keine Bibliotheken bzw. Schaltungen austauschen. (Andreas arbeitet auch mit Eagle, allerdings schon mit der neueren Version. Die habe ich derzeit noch nicht gekauft.)

  • Reiner genau so habe ich das gemacht. Ich habe zwei Timer. Einer startet alle 40ms das Einlesen und einer alle 1500µS die Rampe (immer nur ein Schritt) Das einlesen des Empfängersignals dauert 20ms (also von high nach high) und dann läuft der prozessor erst weiter. Der kann keine Prozesse parallel sondern nur hintereinander. Deswegen habe ich ja Timer gebaut. Alle 40ms würde heißen 20ms Einlesen und 20ms für Die Rampen usw. Das geht aber nicht. Ich kann das Programm gerne posten aber vom logischen her gibt es keinen Fehler.

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Funken: Multiplex Combi 80, Multiplex Combi 90

    Ants: Drum1 (kaputt), Drum2 (kaputt), Böse (reden wir nicht drüber)

    Bastellein: Alles so alt das die Bilder fehlen

  • Für Eagle gibt es einige ganz brauchbare Instructables. Die Lernkurve ist steil, aber man relativ schnell den Dreh heraus. Habe in der HTL Protel99SE gelernt und bin daher nicht bei null in den Prozess eingestiegen, die Schritte sind jedoch überall ähnlich, nur die Bedienung ist Tool-spezifisch.

    http://www.instructables.com/id/Turn-your-E…tic-into-a-PCB/
    http://www.instructables.com/id/Draw-Electr…-CadSoft-EAGLE/
    http://www.instructables.com/id/How-to-make…-Eagle-CAD-too/
    http://www.instructables.com/id/PCB-Creatio…-for-Beginners/

    • Offizieller Beitrag
    Zitat

    Das einlesen des Empfängersignals dauert 20ms (also von high nach high) und dann läuft der prozessor erst weiter. Der kann keine Prozesse parallel sondern nur hintereinander.


    Hehe... :D;) Jetzt sind wir an dem Punkt, wo der Sprung von einer einfachen Arbeitsschleife in eine Art "Statusmaschine" stattfinden muss.

    Wie gesagt, von dem Arduino habe ich keine Ahnung, was der so alles im Hintergrund treibt. Aber Du muss Deine Arbeitsschleife so aufspalten, dass Du zwei Prozesse parallel abfahren kannst. Das heißt, dass sich die Arbeitsschleife eigentlich sehr schnell wiederholt und dann nur immer in den betreffenden "Ecken" hineingeschaut wird, ob da gerade was zu tun ist.

    So wie ich Dich gerade verstanden habe, "wartet" der Timer praktisch, bis zum Einlesen des Empfängersignals endlich mal ein High eintrifft, dann wird die Zeit gemessen, bis das Signal wieder Low ist und dann spuckt er die Zeit aus? Wirklich? Ich dachte, das Programm läuft drüber und die zurückgegebenen Zeit "wächst" langsam an, bis sie dann endlich den "Endwert" erreicht hat.

    Hier entscheidet es sich dann, wie man das Programm aufdröselt, damit die Arbeitschleife beide Prozesse gleichzeitig verarbeiten kann. Gib' mal kurz Rückmeldung, wie der Timer für die Abfrage reagiert. Dann müssen wir mal schauen, wie das Programm "zerhackstückt" werden kann, damit das mit verschiedenen Stati arbeiten kann.

    Im Prinzip könnte man auch eine abgespeckte Version machen. Und zwar: Wenn an dem Porteingang für den Empfängereingang ein "Low" anliegt, dann überspringst Du den Timer-Klimbim einfach. Damit kannst Du (bei einem einzigen Kanal) zwischen 18 und 19ms die Arbeitsschleife ständig durchlaufen lassen, ohne dass sie durch den Empfänger-Timer blockiert wird.
    Wenn das Empfängersignal auf High geht, dann gehst Du erst in den Timer hinein. Das dauert dann 1 bis 2ms, bis Du wieder draussen bist. Aber besser, als wenn Du zwischen 20 und 40ms blockiert wirst.

    Ok, bei zwei Empfangskanälen tritt das zweimal in den 20ms Zyklus auf. Der Motor wird also seine Rampen nicht ganz gleichmäßig hochfahren. Aber das bißchen "ruckeln" kann man verschmerzen. Schau mal, ob das so geht. Wenn nicht, müssen wir tatsächlich auf die "Status-Methode" zurückgreifen. Aber das wird dann ein längeres Posting werden...

    Alex: Dachte mir fast schon, dass Du auch zur Eagle-Fraktion gehörst, als ich Dein Layout angesehen habe. ;)

  • So der erste BTN7960B ist nun im Halbleiterhimmel. Keine Rauchzeichen, keine Erwärmumg, kein Kurzschluss und abgesichert mit 15A Flachstecksicherung. Nur die Drehrichtung geändert und Ende. Lag das jetzt an den fehlenden externen Dioden?

    Zitat

    Original von UnskilledWorker

    Da bin ich ja mal gespannt :D die BTN haben eine kleine "Gemeinheit" parat, wenn man den Stromausgang benutzt *schäbbichgrins* bin mal gespannt, ob Du das rauskriegst 8)

    Ja habe ich herausbekommen. Die messen nur in eine Richtung und geben eine ansteigende Sägezahnspannung raus. Aber wenn ich beide BTN7960B parallel schalte (Stromausgang) messe ich wieder in beide Richtungen.

    Wenn ich eine Schaltung wie im Bild verwende dürfte ich doch eine gleichförmige analoge Spannung bekommen oder nicht?

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Funken: Multiplex Combi 80, Multiplex Combi 90

    Ants: Drum1 (kaputt), Drum2 (kaputt), Böse (reden wir nicht drüber)

    Bastellein: Alles so alt das die Bilder fehlen

    • Offizieller Beitrag
    Zitat

    gleichförmige analoge Spannung


    "gleichförmig" wohl nicht ganz. Wird immer noch ziemlich kappelig sein.

    Kannst ja mal erweitern, dass zwei verschiedene Zeitkonstanten zum Wirken kommen. Also zwei parallele "Ladewiderstände", wobei bei einem Widerstand eine Schottky-Diode in Reihe ist.
    => Beim Laden sind beide Widerstände parallel => schnelle Ladung des C's.
    => Wenn die BTN-Spannung kleiner ist als die geladene Spannung, wird langsamer entladen.

    Damit kriegst Du die Stromspitzen ein bißchen schneller gefangen. ;)

  • HÄ? Also wie jetzt? Also den waagerechten Widerstand durch eine Diode ersetzen oder was meinst du jetzt?

    Erst mal was erfreuliches. Die Steuereinheit ist fast fertig. Jetzt muss ich nurnoch gucken wie ich die Platiene auf maß bekomme und Bohrlöcher reinbekomme. Ich bin sogar nur mit 3 Brücken ausgekommen.

    Verbesserungsvorschläge? Reiner so langsam bräuchte ich den BTN7960B in meiner Libary :D

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Funken: Multiplex Combi 80, Multiplex Combi 90

    Ants: Drum1 (kaputt), Drum2 (kaputt), Böse (reden wir nicht drüber)

    Bastellein: Alles so alt das die Bilder fehlen

    Einmal editiert, zuletzt von Krümmel (21. Mai 2013 um 21:14)

    • Offizieller Beitrag
    Zitat

    Ich bin sogar nur mit 3 Brücken ausgekommen.


    *Hüstel*
    Da sind aber noch ein paar Kreuzungspunkte in Deinem Botton-Layer. :D

    Zitat

    so langsam bräuchte ich den BTN7960B in meiner Libary


    Jo, schicke ich Dir dann gleich los.

  • Kurzer Input von mir nochmal: War zwar auf der Suche nach etwas Anderem, bin aber auf folgender Seite gelandet, welche dir (Krümmel) bei der Implementierung deines Fahrtreglers auf Arduino-Basis evtl. behilflich sein könnte.

    http://klaas.homeip.net/ArduinoWiki/do…jekte:rcreciver

    http://klaas.homeip.net/ArduinoWiki/do…te:kreuzmischer

    [EDIT] Habe gerade im Kreuzmischerthread gesehen, dass du schon darauf gestoßen bist. Post vom mir aus bitte löschen.

  • Trotzdem hilft mir das weiter. Wenn ich mal dazu komm zu lesen. Bin gerade dabei den Leistungstreiber zu entwerfen. 82X88mm finde ich aber zu groß. Mal sehen wie ich das kleiner bekomme. Aber ich denke viel finde ich da nicht mehr.

    Findet jemand Fehler im Layout? Ich weis ungewöhnlich aber die Widerstände sind an der Unterseite und die Blauen Linien sind Drahtbrücken. Ist nicht schön das weis ich. Deswegen Bekommt der Regler auch den Namen Frankenstein.

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Funken: Multiplex Combi 80, Multiplex Combi 90

    Ants: Drum1 (kaputt), Drum2 (kaputt), Böse (reden wir nicht drüber)

    Bastellein: Alles so alt das die Bilder fehlen

    • Offizieller Beitrag

    Hi Mike,
    naja, für's erste Layout unter Eagle nicht schlecht. Aber ein paar Sachen musst Du noch bereinigen, sonst kommt beim Löten oder der Inbetriebnahme viel unangenehme Arbeit auf Dich zu. Davor hätte ich Dich gerne bewahrt. :D

    Zunächst mal: Mach auf der Platine eine Versionsnummer drauf. Du wirst da noch ein bißchen herum-entwickeln und kennst Dich dann hinterher mit den herumschwirrenden Prints nicht mehr aus. Also einfach ein "V1.0" als Text auf das Layout hinterlegen. ;)

    Du hast sehr viele Leiterbahnen (praktisch alle :rolleyes: ) auf der Oberseite platziert. Daber z.B. die Anschlussklemmen sind auch auf der Oberseite. Da kommst Du zum Löten nicht hin! Auch wenn Du "nur" 2A fließen lassen willst, Du brauchst eine saubere Lötverbindung. (Brauche ich Dir als Facharbeiter nicht sagen). Du hast Schraubklemmen verwendet. Das ist sehr gut. Aber durch das Drehen der Schrauben wird die Lötstelle ein bißchen verdreht ("Twist-Effekt") Die kann also aufgehen, wenn Du nur provisorisch von unten etwas Lötzinn auf die Oberseite hindurch-betest.
    Tipp: Mach vor den Schraubklemmen eine fette Durchkontaktierung. Dann mit einem Silberdraht (oben verlötet) durch, umgebogen und dann vor bis zum Lötstift.

    Dann: Die Lötpads von den Widerständen sind stellenweise zu dicht an den benachbarten Leiterplatten. Bau einfach eine Schikane mit der benachbarten Leiterbahn um das Lötpad herum.

    Beim Eagle kann man den Winkel von der Leiterbahn-Kröpfung festlegen. Ich nehme da immer gerne die 45Grad her. Du hast hier "freie Winkel". Da wird es dann stellewesie etwas schwierig, die richtigen Abstände einzuhalten. Probier mal aus, wenn Du eine Leiterbahn aufgebrochen hast, mit der rechten Maustaste (jeweils klicken), die 45Grad-Einstellung zu finden. Wirst sehen, Du tust Dich dann leichter mit dem Verlegen.

    Ich bin mir nicht sicher, aber ich glaube, die Drills (Bohrlochdurchmesser) sind etwas klein. Ich weis aus Erfahrung, dass manche Vorlagen in der Eagle-Bibliothek da schlampig gemacht sind und die Bohrungen zu klein sind. So wie ich dich verstanden habe, willst Du die Platine selber ätzen. Da spielt's keine Rolle, weil Du alles selber bohren musst. Aber irgendwann wirst Du einen Platinenservice beglücken und dann sollte es passen....

    Zwei von den blauen Brücken bilden ein "T". Das ist dann schwer mit Blankdraht zu machen. (nicht "unmöglich", aber warum sollst Du Dir das Leben schwermachen). Setze doch einfach zwei Lötpads nebeneinander, so dass Du mit zwei unabhängigen Drähten die Verbindungen machen kannst.

    Ich sehen noch zwei Luftlinien. Hast Du zwei Verbindungen vergessen?

  • Ich habe nicht alle Leitungen mit dem Leitungsverbinder verdrahtet, sondern teilweise mit dem Linientool. Deswegen sieht das teilweise so komisch aus. Bis auf die Mosfets ist alles unter der Platiene. Gut die Drahtbrücken kann ich ja noch ändern. Deswegen frage ich ja hier nach. Aber sind die Leiterbahnen zu den Mosfets dick genug?

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Funken: Multiplex Combi 80, Multiplex Combi 90

    Ants: Drum1 (kaputt), Drum2 (kaputt), Böse (reden wir nicht drüber)

    Bastellein: Alles so alt das die Bilder fehlen

    • Offizieller Beitrag
    Zitat

    Aber sind die Leiterbahnen zu den Mosfets dick genug?


    Auf für nur 2A lautet die Antwort: nein. :D

    Die mittlere Schraubklemme ist für die Spannungsversorgung. Von dem rechten Anschluss gehst Du offensichtlich auf CON1 (Sicherung?). Da passt der Querschnitt noch. Von CON1 geht nur eine dünne Leitung weiter. Das kann nicht richtig sein.

    Du musst die beiden jeweils äusseren Pads von dem BTN7960B unbedingt mit "fetten" Querschnitten versorgen.
    Am Besten gehst Du dazu nicht direkt mit der Leiterbahn auf den Anschlusspin, sondern "knapp vorbei". Wenn die Leiterbahn dicker ist, wirst Du die äußeren Pads trotzdem noch erreichen (=streifen). Aber bis zum Anschluss hast Du dann seitlich eine dicke Leiterbahn.

  • Okt Layout werde ich dann nochmal überarbeiten. Aber ich fahre gleich erstmal los einen Laserdrucker kaufen ebenso Silikonschlauch, Reagenzgläser, 12V Halogenbirnchen, 1-2l Glasbehälter mit Stopfen und noch n bisschen Kleinkram.

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Funken: Multiplex Combi 80, Multiplex Combi 90

    Ants: Drum1 (kaputt), Drum2 (kaputt), Böse (reden wir nicht drüber)

    Bastellein: Alles so alt das die Bilder fehlen

    • Offizieller Beitrag
    Zitat

    Original von Krümmel
    Okt Layout werde ich dann nochmal überarbeiten. Aber ich fahre gleich erstmal los einen Laserdrucker kaufen ebenso Silikonschlauch, Reagenzgläser, 12V Halogenbirnchen, 1-2l Glasbehälter mit Stopfen und noch n bisschen Kleinkram.


    Hm... Teufelskralle, Hexenhaar, Drachenblut,... was hast Du vor?

    Ich schau jetzt mal in meine Glaskugel, zu was Du die Sachen brauchen könntest:
    Zum Zeichnen von Layouts brauchst Du keines von allem. Zum Ausdrucken eine Laserdrucker, dazu hitzebeständige Overhead-Folien. (Tipp: Hinterher zwei jeweils belichtete Folien übereinanderlegen, dann wird das so lichtdicht, dass man es zum Belichten von fotobeschichteten Leiterplatten hernehmen kann. Ansonsten kriegst Du haarrisse in die Leiterbahnen. Bei SMD-Teilen suchst Du Dir junge Hunde, falls da Fehler drin sein sollten....

    Zum Belichten von fotobeschichteten Leiterplatten brauchst Du eine spezielle UV-Lampe, Halogenlämpchen helfen da nicht.
    Für die ersten Ätzversuche tut's eine Plastikwanne aus der Hauswarenabteilung. (Im Lehrlingsheim hatten wir früher immer im Bad-Waschbecken geätzt, bis dann irgendwann die Gefahr bestand, dass der Syphon unten herausfallen könnte...)

    Silikonschläuche? Für die Luftzufuhr im Ätzbecken? Ok, dann fehlt aber noch die Aquarium-Lüfterpumpe in Deiner Aufzählung.

    Tja,...schade,... vor knapp zwei Jahren habe ich meine Platinenätzanlage, die Entwicklerbecken und die Belichtungsanlage für ein paar Euros im EBay verhökert.

    Hinweis, nachdem Du ja leider immer zu den gesundheitlichen Pechvögeln gehörst: Beim Umgang mit Natriumhydroxid und Eisen-Drei-Chlorid: Schutzbrille verwenden !!!

  • He He. Nein ich brauche den Drucker zwar zum bedrucken aber nicht zum belichten. Ich will die direckttonermethode mit dem bügeleisen ausprobieren. Die Leuchtmittel und das Reagenzglas wird eine Heizung. Den Schlauch für die Luft und das Glas zum lagern der Ätzflüssigkeit.

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Funken: Multiplex Combi 80, Multiplex Combi 90

    Ants: Drum1 (kaputt), Drum2 (kaputt), Böse (reden wir nicht drüber)

    Bastellein: Alles so alt das die Bilder fehlen

    • Offizieller Beitrag
    Zitat

    Die Leuchtmittel und das Reagenzglas wird eine Heizung.


    Kleiner Tipp: In der Tierhandlung beim Aquariumzubehör gibt es so etwas fertig zu kaufen. Da ist die Heizspule dann schon in Sand (im Reagenzglas) eingebettet.
    => Mindestens IP56 und mit TÜV-Zulassung. ;)

    Zitat

    Ich will die direckttonermethode mit dem bügeleisen ausprobieren.


    Eine Woche später beim Wäschebügeln dann die Reste vom Toner am Hemd abstreifen.... :D:D:D

    Diese Technik kenne ich ehrlich gesagt gar nicht. *neugierig*

  • Aquristikheizungen machen aber nur 35Grad aber ich brauche 50Grad. Aber keine Sorge. Das sind 12V Birnen. Sand kommt da auch rein. Ich will ja nicht erblinden. Ich werde die Methode mal genauer erklären, wenn ich das alles mal gemacht habe.
    Stimmt Fotolacklose Platienen muss ich auch noch holen.

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Funken: Multiplex Combi 80, Multiplex Combi 90

    Ants: Drum1 (kaputt), Drum2 (kaputt), Böse (reden wir nicht drüber)

    Bastellein: Alles so alt das die Bilder fehlen

    • Offizieller Beitrag
    Zitat

    aber ich brauche 50Grad


    Ok, die Fische im Aquarium wollen es nur warm haben und man will sie nicht kochen, aber 50Grad zum Platinenentwickeln? Wenn Dir die Platine im Bad von den Haltern abhaut und Du sie dann mit den Fingern rausfischen musst, wird's unangenehm kuschlig an den Fingern... :(

    Wenn Du zum Platinenholen fährst: kauf auch einen separaten Arbeitsmantel. Die Spritzer von dem Eisen-Drei-Chlorid kriegste aus normaler Kleidung nicht mehr raus.

  • Ich verwende Natriumirgendwas und da sollte die Temperatur zwischen 40 und 50Grad sein.
    Ich habe noch alte Arbeitssachen zu hause die ich nehmen kann. Mal sehen ob ich dieses Wochenende schon die Leistungsplatiene fertig habe. An Bauteilen fehlen nur die Dioden.
    Der Prototyp wird wohl auf eine Anschluss Möglichkeit für Zusatzplatienen verzichten.

    Erfahrungen sind was sehr nützliches, leider macht man sie erst kurz nachdem man sie gebraucht hätte...

    Funken: Multiplex Combi 80, Multiplex Combi 90

    Ants: Drum1 (kaputt), Drum2 (kaputt), Böse (reden wir nicht drüber)

    Bastellein: Alles so alt das die Bilder fehlen