Beiträge von charly_01

    Es gibt nun endlich neuigkeiten auch wenn es teilweise keine guten sind.


    Die Platine hat doch noch Ihren weg zu mir gefunden. Mittlerweile ist sie komplett aufgebaut was aber viel mehr arbeit wie erwartet war. Das Problem lag darin das die doppelseitige Leiterplatte nicht durchkontaktiert war, so das ich erst mal ca. 100 normale kontaktierungen machen musste. Danach fingen die schwierigkeiten erst richtig an. Unter den Wagoklemmen, den Relais und dem Wannenstecker konnte ich nicht löten von der Bauteilseite aus da ich da nicht drankommen kann, Also musste ich unter der Platine alles per Kabel machen. Nachdem alles schön bestückt war, habe ich natürlich sofort getestet. Resultat war, das die Platine schön gequalmt und gefunkt hat. Wie sich nach mehreren Stunden des rumprobierens und fehlersuche herausgestellt hat, lag es am Schaltplan. Der hatte leider noch einen verhereneden Fehler, der mir auch den AVR mit zerstört hat. Nachdem ich dann die defekten Bauteile getausch und noch mehr Kabel unter die Platine gelötet habe, um den Scahltplanfehler zu korrigieren lief die MFA endlich einigermassen. Leider lässt sich der AVR nicht auf der Platine Programmieren warum das so ist, ist mir noch ein Rätsel. Bei der ganzen Fehlersucherei habe ich dann auch noch durch ein versehen den Max232 für die Ser. Schnittstelle und die Strommessung in den Siliziumhimmel befördert. Resultat war, das ich 3 Stundne gebraucht habe den IC zu wechseln weil es der einzige nicht gesockelte Baustein ist da er aus Platmangel unter den AVR gelötet wird wo man so ziemlich überhaupt nicht dran kommt. Die Platine sieht jetzt auch nicht mehr besonder gut aus durch das dauernde ab und an Löten. Nun gut die MFA lief dann wieder soweit (ausser der Ser. Progrmmieung wo ich noch immer nicht weiss was es sein könnte). Schnell mal alle Funktionen getestet. Das sah dann alles sehr vielversprechend aus. DZM, Tacho, Automatsiches Rücklicht ect. funktionierte.


    Nächster schritt war alles an die Simson zu hängen. Habe dafür das Moped zu mir in den Keller gebracht um alles einbauen zu können. Erst mal Provisorisch Spannung angeschlossen und den Shunt für die Strommessung weil mich das am meisten Interssiert hat obs klappt. Zündung an und MFA bootet. Schön dachte ich dann Blinkst du mal und schaust wieviel Strom die Blinker ziehen. Nach dem einschalten der Blinker ist das LCD dann ausgefallen obwohl wirklich nur Spannung und Shunt an der MFA angeschlossen waren. Hin und her überlegt woran das wohl liegen kann. Der AVR shien noch zu arbeiten, da er auf die Tastendrücke reagiert hat und auch der Lichtsensor hat im Keller angesprochen also konnte es nur am LCD liegen. Habe dann in die Versorgungsspannung des LCDs einen 2200MF Elko und einen 100nF Kondensator gehangen. Damit konnte ich dann schon mal blinken ohne das das LCD ausgefallen ist. Habe dann mal gehupt und weg war es wieder das LCD. Dann hatte ich keine Lust mehr. Bin seit fast 3 Tagen jeden Tag 16h am bauen gewesen und meine Freundin ist schon ziemlich sauer auf mich deswegen. Resultat ist, das ich den Tacho am Moped getestet habe. der Funktioniert, Strommessung Funktioniert auch recht gut. Sie Stimmt nicht 100% genau da sie mit eingeschalteter MFA 100mA Ladung anzeigt was ja nicht sein kann wenn der Motor steht. Schalte ich das Standlich ein, habe ich 200mA Entladung und mit den Blinkern zusammen ca. 3A Entladung. Prinzipiell scheint also zu Funktionier mit +-100 mA würde ich mal schätzen. Im Keller konnte ich natürlich den Motor nicht laufen lassen, darum weiss ich nicht wie die MFA darauf reagiert. Wahrscheinlich nicht besonders gut. Irgendwo ist da noch der Wurm drin. Hoffe das Henne von Frank auch eine Platine bekommt da ich keine IDee mehr habe wo ich suchen soll wegen dem LCD Problem. Die Platine ist mittlerwiele ja ziemlich verlötet durch das ständige Austauschen der defekten Bauteile. Hoffe das es damit zusammen hängt.


    Mich wunder nur das ich diese Probleme mit der auf Lochraster aufgebauten Platine nicht hatte. Also muss es ja irgendwie gehen. Vieleicht hat ja NetHarry noch eine Idee was ich mal versuchen könnte. Vieleicht kann man ja auf alle Datenleitungen die zum LCD gehen auch noch 100nF C löten. Ich weiss nur nicht ob man das so machen kann und obs was bringt. Noch gebe ich nicht auf aber das war schon ein ziemlicher Rückschlag heute. Hoffe es wird noch was draus.


    Ich halte euch auf dem laufenden.





    Ich habe mich auch nochmal mit der Problematik befasst und mich im Netz umgesehen.


    Dabei habe ich folgende Interessante Seite gefunden.


    [c=crimson]http://www.12move.de/home/hanskrause/elektro.htm[/code]


    Dort gibts eigentlich alles was wir brauchen. Die Zündung dort ist für einen 2-Takt ein-Zylindermotor entworfen genau das was wir haben.


    Problem ist leider das der Prozessor dort weder Motor Temp. noch Last berücksichtig. Ich kenne mich mit Zündanlagen zu wenig aus so das ich nicht beurteilen kann wie sich diese Fehlenden Werte auf die Leistung auswirken.


    Die Kennkurve kann Inividuell angepasst werden. Im Drehzahlbereich von 339-1525 u/min sind 20 Werte hinterlegbar. Ab 1525 U/min - 20000 U/min sind 200 Werte hinterlegt. Die Zündzeitpunktverschiebung ist auf 0,2° genau.


    Was jetzt noch fehlt ist eine Kennkurve für unsere Simson Motoren. Die Wertetabelle habe ich noch nicht ganz verstanden aber das wird man schon rausbekommen.


    Hier mal die Tabelle das man mal sieht wie soetwas aussieht.


    Asynchron


    ; EEPROMEND


    ;----------------------------------------------------------------------
    ; Code variables
    ;----------------------------------------------------------------------
    ; CODESTART
    .cseg ; switch to Code segment
    welcome: .db 00Dh,00Ah,00Ah,\'RPI\',00Dh,00Ah,000h ;
    sendline: .db 00Dh,00Ah,\'>\',000h ;




    ;--------------------------------------------------------------------------
    ;Run-Tabelle mit 200 Werten für den Zündzeitpunkt
    ;Die Werte stellen eine Verzögerung dar von 0,2 Grad * Wert
    ; Umdr/min
    ztab: .db 10,10,10,10,10,10,10,10,10,10 ; 16. - 25. Wert = 21000 - 13400
    ztab2: .db 1,1,1,1,1,1,1,1,1,1 ; 26. - 35. Wert = 12880 - 9570
    ztab3: .db 1,1,1,1,1,1,1,1,1,1 ; 36. - 45. Wert = 9300 - 7440
    ztab4: .db 1,1,1,1,1,1,1,1,1,1 ; 46. - 55. Wert = 7278 - 6087
    ztab5: .db 1,1,1,1,1,1,1,1,1,1 ; 56. - 65. Wert = 5978 - 5151
    ztab6: .db 5,5,5,5,5,5,5,5,5,5 ; 66. - 75. Wert = 5073 - 4464
    ztab7: .db 9,9,9,9,9,9,9,9,9,9 ; 76. - 85. Wert = 4405 - 3939
    ztab8: .db 10,10,10,10,10,10,10,10,10,10 ; 86. - 95. Wert = 3893 - 3524
    ztab9: .db 11,11,11,11,12,12,12,12,12,12 ; 96. - 105. Wert = 3487 - 3188
    ztab10: .db 13,13,13,13,13,14,14,14,14,14 ; 106. - 115. Wert = 3158 - 2911
    ztab11: .db 12,12,12,12,12,12,12,12,12,12 ; 116. - 125. Wert = 2886 - 2678
    ztab12: .db 17,17,17,17,17,17,17,17,17,17 ; 126. - 135. Wert = 2686 - 2678
    ztab13: .db 20,20,20,20,20,20,20,20,20,20 ; 136. - 145. Wert = 2657 - 2309
    ztab14: .db 20,20,20,20,20,25,25,25,25,25 ; 146. - 155. Wert = 2293 - 2160
    ztab15: .db 25,25,25,25,30,30,30,40,40,40 ; 156. - 165. Wert = 2146 - 2029
    ztab16: .db 45,45,45,45,45,50,50,50,50,50 ; 166. - 175. Wert = 2016 - 1913
    ztab17: .db 55,55,55,55,55,60,60,60,60,60 ; 176. - 185. Wert = 1902 - 1809
    ztab18: .db 65,65,65,65,65,65,65,65,65,65 ; 186. - 195. Wert = 1800 - 1717
    ztab19: .db 65,65,65,65,65,65,65,65,65,65 ; 196. - 205. Wert = 1708 - 1633
    ztab20: .db 65,65,65,65,65,65,65,65,65,65 ; 206. - 215. Wert = 1625 - 1557


    ;--------------------------------------------------------------------------
    ;Start-Tabelle mit 20 Werten für den Zündzeitpunkt
    ;Die Werte stellen eine Verzögerung dar von 0,2 Grad * Wert
    ; Umdr/min
    stab: .db 70,70,70,70,70,70 ; 07H - 0CH = 1307 - 762
    stab1: .db 75,75,75,75,75,75 ; 0DH - 12H = 704 - 508
    stab2: .db 80,80,80,80,80,80 ; 13H - 18H = 481 - 381
    stab3: .db 85,85,85,85,85,85 ; 19H - 1EH = 366 - 305
    stab4: .db 90,90,90,90,90,90 ; 1FH - 24H = 295 - 254
    stab5: .db 100,100,100,100,100,100 ; 25H - 2AH = 247 - 217


    Das neue Programmfile kann ich auch wieder assemblieren so das es direkt auf den Prozessor geflasht werden kann mit den angepassen ZZP-Werten.



    Ist nur mal so eine Idee auf dieses Projekt aufzusetzen. Man muss das RAD ja nicht zwei mal erfinden.



    M.f.G.


    Charly

    Henne hat momentan etwas viel um die Ohren wegen der Uni. und seinem Moped was nicht ganz ok ist so das er Zeitlich nicht zum aufbauen kommmt. Darum hat er mir die Platine versucht mit der Post zu schicken aber leider ist der Brief wohl an Ihn zurück gegangen, so das er Ihn gestern nocheinmal neu an mich verschicken musste. Hoffe das er diesmal ankommt. Ich habe ab Mo. frei und somit genug Zeit die Schaltung zügig aufbauen und Testen zu können. Alle Bauteile habe ich schon zu Hause um die Platine vollständig bestücken zu können.


    Im momment liegts an der Post wie lange es noch dauert. Ich bin mal optimistisch und sage wenn der Brief am Mo. ankommen sollte, dann könnte es am Mi. ergebnisse geben ob alles klappt oder ob noch nachgebessert werden muss.


    Von meiner seite auch noch ein Danke schön für deine Mühe die Platine zu Ätzen.


    M.f.G.


    Charly

    Hi,


    der Mega32 ist schon eine gute Wahl. Damit habe ich auch die MFA für die Simson gemacht. Vorteile vom Mega32 sind das er Preiswert ist 3,50€ genug i/o Pins hat und relativ viel Speicher. Programmieren kann man den komfortavel mit Bascom.


    Wie groß ist denn die DB ??? Es gibt doch tausende Kombinationen von Last,Temp. und DZ. Kann man das nicht berechnen lassen anstatt werte aus einer DB zu holen ??? Das währe wahrscheinlich schneller und leichter zu realisieren. Du schreibst jetzt auf einmal noch was von einer Wasserpumpe. Willst du dem Motor eine Wasserkühlung verpassen ???


    Habe mal ein kleines Programm für die Timerberechnung auf meinem Web Space zum download bereitgestellt.


    Timerberechnung


    Habe meine Berechnungen nochmal überprüft und komme wieder auf die selben ergebnisse.


    All die Funktionen die du im Programmablauf beschrieben hast, habe ich bei der MFA auch benutzt. Timer, PWM, LCD, IRQ Eingang, A/D-Wandler abfragen ect. Das einzigste was ich noch nicht gemacht habe ist Werte aus einer DB zu holen. Im Prinzip gibt es auch schon die Hardware da ich auch die DZ und Motor Temp. Messe.


    Man wird sich aber darauf einstellen müssen, das man unbedingt eine Bat. hat um den AVR mit Spannung zu versorgen. Sonst wird man das Moped wahrscheinlich nicht angetreten bekommen da der Zündimuls ja nicht generiert werden kann solange der AVR nicht arbeitet.




    M.f.G.


    Charly

    Habe gerade mal gerechnet. Bei einem 16MHz Tak würde ich noch 100000 Hz messen können. Ein Timerüberlauf würde alle 10 µs ausgelöst werden. Ich könnte also Theoretisch bis 6000000 U/min messen.


    Im Normalen bereich bis 7500 U/min würde das gerade mal einen Takt von 125Hz ergeben den ich messen muss.Da bleibt also noch eine menge Spielraum um die anderen sachen abzuarbeiten bzw. Berechnungen anzustellen wie der ZZP verstellt werden muss.


    Will damit sagen, das es von seiten des AVRs kein Problem geben dürfte. Nur bei der genauigkleit bin ich mir unsicher da es hier ja wirklich auf genauestes Timing ankommt. Durch die hohe Temp. drift der Quarze befürchte ich das es zu abweichungen kommen kann. Da habe ich im momment noch keine Idee wie man das kompensieren könnte.


    Hier mal die Technischen Daten eines Preiswerten Quarzoszillators


    Quarzoszillator, C-Mos/TTL-kompatibel
    Frequenz: 16,00 MHz
    Frequenztoleranz: + - 100ppm
    Temperaturbereich: 0 - 70° C
    Speisespannung: 5 V
    Ausgang für 2TTL oder 10 LS-Gatter
    Ausgänge:
    1 nicht beschaltet
    7 Masse
    8 Ausgang
    14 Speisespannung


    EDIT:


    Habe gerade den Taschenrechner nochmal angeschmissen. Wenn ich mich nicht total verrechnet habe, dann müsste die kleinste Messbare Zeit bei einem 16Bit Timer 0,0001528 µs sein.


    Ich weiss das der Timer genau 10µs braucht um von 91 - 65536 zu zählen. Dann würde er überlaufen und einen Interupt auslösen.


    Wenn jemand mag kann er das ja mal nachrechen. Bin jetzt selbst etwas erstaunt wie schnell der AVR Zählen kann. Hoffe das ich mich da jetzt ncht vertan habe.

    Hi,


    Funtionsgenerator Sinus, Rechteck ect. bis 2GHz habe ich und ein 10MHz Osziloskop habe ich auch. Elektronikkentnisse sind vorhaden aber weit weg von einem \"GOTT\". Die Schaltung der MFA ist zwar größtenteils auf meinem Mist gewachsen aber ohne Net-Harry und Henne hätte ich die OP Schaltung für die Strommessung an der MFA so nicht hinbekommen. Auch das erstellen der Platine hätte ich ohne Henne nicht so schnell auf die reihe bekommen.


    Probeme sehe ich beim vorstellend des ZZP ein rückstellen ist nicht weiter schweer. Vermutlich wird man die Groundplatte schon auf Frühzündung einstellen müssen so das ich dann spielraum beim vezögerten ZZP habe.


    Frage: Warum willst du eine schleife verwenden. Ich hätte das über Timer gelöst. 3 Stück habe ich im AVR zur Verfügung. 8Bit und 16Bit.


    Nächste sache, wo bekommt man eine Kennlinie her die angibt um wieviel der ZZP in Abhängikeit der DZ und Temp. vor oder nachgestellt werden muss.


    Letzte Frage: Wie willst du die Last messen ??? Temp. und Drehzahl ist nicht weiter schwer aber die Last ?


    Ich muss dazu sagen, das ich noch keinerlei erfahrungen beim Manipulieren der Zündung habe und auch noch nicht genau weiss wie sich alle abhängikeiten zusammensetzen bzw. was genau bewirkt wird wenn der ZZP vor oder nachstellt wird. Eigentlich kann ich maximal die Softwareumsetzung machen.


    M.f.G.


    Charly

    Die Programmierung des Controllers könnte ich übernehmen wenn sich daraus wirklich ein Projekt entwickeln sollte. Das Timing würde ich denke ich schon hinbekommen. Die AVRs sind schon sehr schnell. 16Mio Operationen pro sekunde sind kein Problem, da fallen 200 Takte pro sec fast nicht auf wenn der AVR nicht noch groß was anderes machen muss. Habe durch die Entwicklung der Simson MFA einiges beim Programmieren dazugelernt. Wenn ich die Platine für meine MFA endlich mal mit der Post bekommen würde (hoffe das die Post den Brief nicht verschlampt hat) , dann würde es damit auch weiter gehen. Das Projekt ist ja fast durch wenn die Hardware keine Fehler hat.


    M.f.G.


    Charly