Liste der Anhänge anzeigen (Anzahl: 2)
Ja, gerade eben ausprobiert.
Ich musste erst noch eine andere Breite für die Barcode-Striche und -Lücken in EXCEL suchen, und so kann ich erst einmal alle Barcodes zu ca. 80% lesen, die GENAU EIN schwarzes Datenbit haben.
2 schwarze Datenbits werden eher nur zu 10% gelesen, und alls 3 Bits in schwarz habe ich bis jetzt noch nicht geschafft.
Versucht habe ich es mit 5 verschiedenen Breiten der Striche. Der erste Druckversuch mit der rein mathematisch berechneten Breite (8-er ODO => 1.5 mm/Tik) hatte eigendlich auch noch am besten funktioniert.
Alle nicht gelesenen Codes liefern nach einem 'Zufallssystem' die beiden Fehlermeldungen zurück. (Richtung, Prüfbit)
Trotzdem schon mal nicht schlecht Herr Specht.
P.S.: Liegt es am Stopcode-Bit?
Ich habe es wie im oberen Bild gedruckt, da es so aus der EXCEL-Tabelle herraus druckbar ist im Gegensatz zu dem Image, welches du da abgelegt hast. Das Image deutet aber eher ein Stop-Bit an, welches direkt ohne Lücke hinter dem Prüfbit zu malen wäre bei doppelter Breite. (Vielleicht hast du es ja schon beschrieben, aber im Moment finde ich dazu keine Angabe.)
Liste der Anhänge anzeigen (Anzahl: 2)
Wenn du eine 8er ODO hast musst du BC_ABTASTUNGEN_PRO_STRICH von 5 auf 10 setzen. Weiters würde ich mit der BC_LOGIKSCHWELLE etwas raufgehen, so ein Wert um 7 sollte passen.
Asuro muss über eine weiße Fläche fahren, sobald er den ersten schwarzen Strich erkennt fährt er genau 165mm weit. Das kannst du ja ausmessen und damit vergleichen ob du die Werte richtig eingestellt hast.
Weiters solltest du darauf achten dass die Barcodes möglichst millimetergenau gedruckt werden.
Das Stoppbit(in der Breite von 2 Strich) verschmilzt mit dem eventuell vorhandenen Prüfbit(als ein max. 45mm breiter Strich kann entstehen im Extremfall).
Ich hab mal die Zahlen 4...7 im Anhang angehängt, da sollte man es schön erkennen.
Wenn du außerdem AutoCAD hast kannst du dir die Barcodes von dort ausdrucken(siehe Anhang), du musst nur das Rechteck um die Barcodes an die druckbare A4 Größe anpassen, und dann beim Plotten dies als "Fenster" wählen. Damit kann man dann auf den mm genau drucken.
Ich hoffe dass es nun bei dir funktioniert, sonst helf ich natürlich gern weiter(mich interessiert es ja schließlich auch wie "portabel" so ein Asuro Programm denn ist).
Dieses WE werde ich mal etwas angehen was mich schon seit Ewigkeiten nervt: Eine vernünftige Geradeausfahr-Regelung für Asuro. Ich hab zwar schon einen PI Regler mal gebaut aber diesmal probier ich es auf einen anderen Weg womit man hoffentlich noch bessere Resulate erzielt. Damit man Asuro auch mal perfekt gerade über Strichcodes fahren lassen kann.
Grüße,
Harri
Liste der Anhänge anzeigen (Anzahl: 1)
Hier kommt dann mal die Ersatz-Asuro-LIB von SternThaler.
Kleine Übersicht:
--- Timer-Interrupt:
Sorgt mit dem langen, aber schnellen Code für das 'anschieben' eines weiteren ADC-Wandlers.
--- main()-Funktion:
- Starten der gewünschte Wandlergruppe (Hier sinnvoll: ODO)
- Fahrstrecke vorgeben
- Loop-Schleife mit zeitgesteuertem Sheduler
- Alle 2ms den PID-Regler von waste aufrufen
--- waste-PID-Regler:
Je nach gewünschtem Regelverhalten ODO- oder LINIEN-Regler nutzen.
Timer-Interrupt und waste-PID-Regler sind in asuro_st.c/h
main() natürlich in test.c
Hinweise:
- Tik-Anzahl-Vorgabe bei den Tasten bezieht sich auf 8-er Scheiben.
- Infos zur Tastenbelegung in test.c. (Asuro von vorne ansehen: Taste 1 = links)
- ODO-Messungen benötigen Anpassungen für die Tik-Ermittlung.
In der Datei asuro_hw.h sind dafür die Defines HW_RAD_SCHWELLE_LINKS und HW_RAD_SCHWELLE_RECHTS
@harry3
Ich möchte nicht, dass du aus meinem Code die Kommentare entfernst, die Funktionsnamen änderst und dann in deinem Link "Meine erstellten Asuro Funktionen..." wieder auftauchen [-X .