Even een update. De hardware was vrij snel klaar maar de software kant vroeg heel wat meer werk. Jochem was zo aardig een stukje test software te schrijven en te helpen met dingen uitzoeken mbt de aansturing van de motor. En daarnaast de hoognodige geestelijke ondersteuning
Het viel niet mee maar het is gelukt. Dankzij hem weet ik nu ook waarom mijn arduino projecten niet vooruit te branden waren en het belang van fuses bij het branden van de Atmel Mega328 mbv mijn TL866A prorammer.
Mijn Arduino is iets te vaak mishandeld dus ik schrijf de software in de IDE, gooi het eruit als een hex file naar de TL866A. Ik maak meestal een 6 pin ICP op het pcb.
Ik heb zelf ooit een Arduino achtig ding met LCD genmaakt. Maar die bleken dus iets van 24x te langzaam. Ik gebruik nu Atmels zonder bootloader.
Ik heb een instelmenu gemaakt waar ik best trots op ben, een 10 slag pot met tellerknop (net als de delay knop op analoge scoops) en een drukknop de instellingen doe.
Dankzij het map commando is de aanduiding op die knop gelijk aan de display.
Waarom, simpel, die heeft een blokkeer knopje (wat achteraf dank zij de firmware niet nodig bleek maar het stelt wel lekker snel in)
Er komt op de display de vermelding van de parameter, zoals layers, turn per layer, draaddikte, richting feed motor. De potmeter wordt gelezen door de ADC, de waarde gemapped tot 0-1000 of 0-100, dan druk ik op OK en gaat hij naar de volgende. Dat kost nauwelijks tijd. Ik vind het prettiger dan een rotary encoder
Er zit ook een pauze knop op die de boel stilzet zodat ik bv tape kan aanbrengen.
De omwentelingen worden door een IR lichtsluis geteld. Dat heeft me wel wat hoofdbrekens gekost toen het ding wel op snelheid werkte en ik de tab breder had gemaakt ivm extern licht, doorliep hij de loop een keer of twintig tijdens zo'n doorgang. Ik wilde geen wachtlussen toestand. Hij vergelijkt nu steeds een bit, die wordt bij t0 van de onderbreking hoog en pas bij de wisseling daarop van hoog naar weer 0 en telt hij er 1 turn bij op.
De beide motors staan onder controle van de Atmel. De stepper 100% (richting, start/stop, stapgrote en snelheid), de windermotor alleen aan/uit. De snelheid en draairichting daarvan is analoog geregeld zodat ik
tijdens het wikkelen makkelijk de snelheid kan regelen.
De stepper wilde maar niet goed werken tot ik er achter kwam dat het niet werkt als je de motorspeed (rpm) niet eerst zet. Dat heeft me verruit de meeste tijd gekost.
Gisteren nog een mooiere "feed-kop" gemaakt met een messing buisje stukje teflonslang. Daar past weer een "liner" in in de vorm van zo'n rood spuitbus rietje (0,6mm) dus prima voor het meeste CU draad. Dat rietje kan ik uitschuiven zodat het zo dicht mogelijk bij de wikkelkamer kan komen.
De software is werkbaar maar ik zou er nog wat dingen bij willen die nu nog te ver gaan voor mijn programmeer kennis. In ieder geval kan ik zo de hardware testen
En nu natuurlijk proberen of het ook echt allemaal (handig) werkt. En zoja de electronica wat fatsoeneren (voornamelijk in een kastje bouwen ipv open een bloot op een stuk koelprofiel etc.
Misschien een trafo erbij zodat ik hem overal kan zetten (nu moet hij bij 2 labvoedingen in de buurt staan)
Ik ben blij dat ik voor digitaal ben gegaan want is wel heel gaaf geworden Maar zonder de hulp van Jochem was ik al lang gestopt. Analoog was het lang niet zo mooi en gebruiksvriendelijk geworden maar was ik waarschijnlijk al lang klaar geweest.
Ik heb ook Atmel studio 7 geinstalleerd. Dat echte C taaltje is flink wat ingewikkelder maar voor iemand die met een vinger typed en commando's, variabelen etc vergeet is het met die semi-auto aanvulling wel veel makkelijker werken. En zoiets als een variabele vergeten te resetten komt er in een debug sim hopelijk wel uit. Maar of ik daar ook echt uit kom weet ik niet. Dingen als DDRB.1 |=(1 <<5) zijn niet echt makkelijk (ik verzin maar even wat) als je gewend bent met digitalRead te werken. Het blijkt wel heel makkelijk te zijn zelf commandos/macros te maken met #define