BA-men schreef:
En wat zou mijn publiek nu liefst hebben dat ik eerst doe :
A) De code uitleggen/documenteren
B) De hardware van de controller opbouwen/documenteren.
Jan
FeatherHard
Moderator: Moderators
De bouw
Je neemt een gaatjesplaat met kopereilandjes, één eilandje per gaatje.
Daaruit zaag je een vierkant stuk van 18 X 18 gaatjes. Dat gaat het best door met een metaalzaag te zagen in een lijn gaatjes. Als je dat vierkant plaatje hebt uitgezaagd schuur je net zo lang de kanten glad (met schuurpapier op het houtblokje) tot de kuiltjes van de gaatjes waardoor je gezaagd hebt niet meer zichtbaar zijn.
Met een houtboor boor je in het tweede gaatje van elke rand in elke hoek een gaatje van 3 mm. Het resultaat is dat je dan een printplaatje hebt dat er langs onder als volgt uit ziet.
Elk van die gaatjes gaan we gebruiken om een schroefverbinding voor een aansluitdraad te maken. Daarvoor gebruik ik 3 mm koperen schroefjes. Je schroeft een dergelijk schroefje in elk van de 3-mm gaten. Voor de esthetiek zorg je ervoor dat elke moer mooi gelijk staat. Soldeer de moer vast op de print. Gebruik daarvoor een stevige soldeerbout (40 tot 60 W). Zorg ervoor dat je alleen soldeertin langs de buitenkant van de moer aanbrengt en dat het soldeer goed vloeit. Je wil dat er veel eilandjes zijn die de moer vasthouden en dat de ganse oppervlakte van die eilandjes met soldeer bedekt zijn. Het resultaat ziet er dan zo uit.
Langs de bovenkant heb je nu een schroefverbinding. Die ziet er dan zo uit.
Het is gebruikelijk en aan te raden om op een printplaat eerst de laagste onderdelen te plaatsen (de onderdelen die het minste hoogte hebben) en de onderdelen die het best bestand zijn tegen de hitte van de soldeerbout. We starten daarom met het aanbrengen van de draadbruggen. Ideaal doe je dat met 1mm verzilverde koperdraad. Bij mij was die op vandaar dat er hier wat dunnere (0,5mm) draad is gebruikt. Met de stromen die wij gaan gebruiken is het zeker aan te raden om weldegelijk 1mm draad te gebruiken.
De draadbruggen komen hier te zitten :
De volgende onderdelen zijn de weerstanden, de 0,1 µF condensatoren, de 0,3 µF condensator, de schakelaar, de RC aansluiting (een 3 pin header), de IC voetjes, de diodes, de spanningsregelaars en de 860 µF ELCO.
Dit is het schema voor de bovenkant met alle componenten erop.
Bij de 7809 staan de 3 pootjes op één rij (en dat is anders op de foto hieronder maar dat heb ik pas na de foto aangepast). Bij de 7805 staat het middelste pootje één gaatje naar boven.
Hier een detail foto van de montage van de diodes en de condensator tussen de pootjes voor de HIP4082.
Voor het overige denk ik dat de figuur en de foto’s duidelijk maken hoe het moet.
Als je dan nog de IC’s in hun voetjes duwt ziet het geheel er zo uit.
Tot zover de beschrijving van de bovenkant.
Morgen de onderkant.
Groetjes
Jan
Je neemt een gaatjesplaat met kopereilandjes, één eilandje per gaatje.
Daaruit zaag je een vierkant stuk van 18 X 18 gaatjes. Dat gaat het best door met een metaalzaag te zagen in een lijn gaatjes. Als je dat vierkant plaatje hebt uitgezaagd schuur je net zo lang de kanten glad (met schuurpapier op het houtblokje) tot de kuiltjes van de gaatjes waardoor je gezaagd hebt niet meer zichtbaar zijn.
Met een houtboor boor je in het tweede gaatje van elke rand in elke hoek een gaatje van 3 mm. Het resultaat is dat je dan een printplaatje hebt dat er langs onder als volgt uit ziet.
Elk van die gaatjes gaan we gebruiken om een schroefverbinding voor een aansluitdraad te maken. Daarvoor gebruik ik 3 mm koperen schroefjes. Je schroeft een dergelijk schroefje in elk van de 3-mm gaten. Voor de esthetiek zorg je ervoor dat elke moer mooi gelijk staat. Soldeer de moer vast op de print. Gebruik daarvoor een stevige soldeerbout (40 tot 60 W). Zorg ervoor dat je alleen soldeertin langs de buitenkant van de moer aanbrengt en dat het soldeer goed vloeit. Je wil dat er veel eilandjes zijn die de moer vasthouden en dat de ganse oppervlakte van die eilandjes met soldeer bedekt zijn. Het resultaat ziet er dan zo uit.
Langs de bovenkant heb je nu een schroefverbinding. Die ziet er dan zo uit.
Het is gebruikelijk en aan te raden om op een printplaat eerst de laagste onderdelen te plaatsen (de onderdelen die het minste hoogte hebben) en de onderdelen die het best bestand zijn tegen de hitte van de soldeerbout. We starten daarom met het aanbrengen van de draadbruggen. Ideaal doe je dat met 1mm verzilverde koperdraad. Bij mij was die op vandaar dat er hier wat dunnere (0,5mm) draad is gebruikt. Met de stromen die wij gaan gebruiken is het zeker aan te raden om weldegelijk 1mm draad te gebruiken.
De draadbruggen komen hier te zitten :
De volgende onderdelen zijn de weerstanden, de 0,1 µF condensatoren, de 0,3 µF condensator, de schakelaar, de RC aansluiting (een 3 pin header), de IC voetjes, de diodes, de spanningsregelaars en de 860 µF ELCO.
Dit is het schema voor de bovenkant met alle componenten erop.
Bij de 7809 staan de 3 pootjes op één rij (en dat is anders op de foto hieronder maar dat heb ik pas na de foto aangepast). Bij de 7805 staat het middelste pootje één gaatje naar boven.
Hier een detail foto van de montage van de diodes en de condensator tussen de pootjes voor de HIP4082.
Voor het overige denk ik dat de figuur en de foto’s duidelijk maken hoe het moet.
Als je dan nog de IC’s in hun voetjes duwt ziet het geheel er zo uit.
Tot zover de beschrijving van de bovenkant.
Morgen de onderkant.
Groetjes
Jan
Bouw Deel II
Nu komt het echte soldeerambacht aan bod.
Soldeer aan de onderkant de FET’s.
Daarna leg je de ”printbanen” De figuur hieronder toont aan hoe de verbindingen aan de onderkant moeten gelegd worden. De rode lijnen zijn op de eilandjes gesoldeerd, de blauwe draden zijn extra draadjes.
Als laatste stap soldeer je de weerstanden en de condensator op zijn plaats.
Als je dat allemaal gedaan hebt zou je controller er langs de onderdkant ongeveer als volgt moeten uitzien.
Rest ons nog het aansluiten van de koelvin.
Ik heb hier wat overdreven en een blok gefreesd van 110 X 39 X 12 mm. Ideaal zou een aluminium lat zijn van 85 X 50 X 3 mm.
Je legt de controller op de koelvin en tekent de gaatjes af waar de vijsjes moeten komen.
Met een puntslag geef je precies aan waar de boor het gaatje boort.
Je boort het gaatje met een 2,5 mm boor als je schroefdraad in het gaatje gaat trekken, met een 3 mm boor als je het vijsje dwars door de koelvin zal plaatsen.
De FET’s moeten geïsoleerd geplaatst worden.
Dan ziet de controller er uiteindelijk zo uit.
De aansluitingen bovenaan de print zijn de aansluitingen voor de motor.
Links onderaan is de massa (min-pool) rechts onderdaan de PLUS.
De RC aansluiting van links naar rechts : Massa, 5V, RC-signal.
De 5V op de RC is een uitgang ! sluit daar dus geen ontvanger op ana die al voeding heeft. Als je ontvanger voeding heeft haal dan de 5V aansluiting van de connector.
Voila,
Als je hier een geprogrammeerde ATtiny85 is steekt heb je een werkende controller.
Groetjes
Jan
Gewijzigd door Leo-rcc om de fotos goed te linken. De figuur bottom all lukte me ook niet.
Dank u Leo. Werkt nu de eerste figuur ook bij iedereen ?
Nu komt het echte soldeerambacht aan bod.
Soldeer aan de onderkant de FET’s.
Daarna leg je de ”printbanen” De figuur hieronder toont aan hoe de verbindingen aan de onderkant moeten gelegd worden. De rode lijnen zijn op de eilandjes gesoldeerd, de blauwe draden zijn extra draadjes.
Als laatste stap soldeer je de weerstanden en de condensator op zijn plaats.
Als je dat allemaal gedaan hebt zou je controller er langs de onderdkant ongeveer als volgt moeten uitzien.
Rest ons nog het aansluiten van de koelvin.
Ik heb hier wat overdreven en een blok gefreesd van 110 X 39 X 12 mm. Ideaal zou een aluminium lat zijn van 85 X 50 X 3 mm.
Je legt de controller op de koelvin en tekent de gaatjes af waar de vijsjes moeten komen.
Met een puntslag geef je precies aan waar de boor het gaatje boort.
Je boort het gaatje met een 2,5 mm boor als je schroefdraad in het gaatje gaat trekken, met een 3 mm boor als je het vijsje dwars door de koelvin zal plaatsen.
De FET’s moeten geïsoleerd geplaatst worden.
Dan ziet de controller er uiteindelijk zo uit.
De aansluitingen bovenaan de print zijn de aansluitingen voor de motor.
Links onderaan is de massa (min-pool) rechts onderdaan de PLUS.
De RC aansluiting van links naar rechts : Massa, 5V, RC-signal.
De 5V op de RC is een uitgang ! sluit daar dus geen ontvanger op ana die al voeding heeft. Als je ontvanger voeding heeft haal dan de 5V aansluiting van de connector.
Voila,
Als je hier een geprogrammeerde ATtiny85 is steekt heb je een werkende controller.
Groetjes
Jan
Gewijzigd door Leo-rcc om de fotos goed te linken. De figuur bottom all lukte me ook niet.
Dank u Leo. Werkt nu de eerste figuur ook bij iedereen ?
Laatst gewijzigd door A-men op vr mar 21, 2008 3:49 pm, 1 keer totaal gewijzigd.
Ik heb deze basis schakeling al gebruikt voor een controller waarin ik een ATtiny24 microcontroller gebruikte.
Vandaag hoop ik deze code om te zetten naar de hier gebruikte ATtiny85.
Bij het omzetten van de code van de ATtiny24 naar de ATtiny85 heb ik net vastgesteld dat we de weerstand bij S1 ook kunnen weglaten. Die kunnen we vervangen door de interne pull-up weerstanden in de AVR.
Ik gebruik deze weerstanden trouwens ook om de niet gebruikte pinnen van de AVR een mooi gedefinieerd niveau te geven.
Groetjes
Jan
Vandaag hoop ik deze code om te zetten naar de hier gebruikte ATtiny85.
Bij het omzetten van de code van de ATtiny24 naar de ATtiny85 heb ik net vastgesteld dat we de weerstand bij S1 ook kunnen weglaten. Die kunnen we vervangen door de interne pull-up weerstanden in de AVR.
Ik gebruik deze weerstanden trouwens ook om de niet gebruikte pinnen van de AVR een mooi gedefinieerd niveau te geven.
Groetjes
Jan
Ik heb vandaag de laatse testen gedaan met de simple controller software.
Ik heb voor de testen gebruik gemaakt van een wat meer didactisch opgebouwde printplaat (maar het schema is identiek aan wat hierboven staat).
Het heeft dus duidelijk wat meer tijd gekost dan ik gehoopt had (het porten van de code voor ATtiny24 naar ATtiny85). Dat komt omdat de ATtiny 85 geen 16bit timer heeft en de registers dan ook anders noemen en anders werken. EN
Omdat er in de oorspronkelijke code ook wat inperfecties zaten die ik er nu ook maar ineens heb uitgehaald.
De code gaat in grote lijnen als volgt :
Is er eigenlijk wel iemand die in de werking van de code is geïnteresseerd en zo ja... wil die meer detail dan wat ik hierboven heb omschreven ?
Het zou niet veel moeite kosten om de ongebruikte IO-poort aan te sluiten op een NTC weerstand en zo de temperatuur van de koelvin te lezen. Dan zou je als je dat wil ook de controller kunnen stil leggen als dat koellichaam te warm wordt.
Voorlopig ga ik dat niet voorzien. Ik denk dat ik de controller in 5 minuten nooit zo heet krijg dat het een probleem wordt voor de FET's.
Groetjes
Jan
Ik heb voor de testen gebruik gemaakt van een wat meer didactisch opgebouwde printplaat (maar het schema is identiek aan wat hierboven staat).
Het heeft dus duidelijk wat meer tijd gekost dan ik gehoopt had (het porten van de code voor ATtiny24 naar ATtiny85). Dat komt omdat de ATtiny 85 geen 16bit timer heeft en de registers dan ook anders noemen en anders werken. EN
Omdat er in de oorspronkelijke code ook wat inperfecties zaten die ik er nu ook maar ineens heb uitgehaald.
De code gaat in grote lijnen als volgt :
Code: Selecteer alles
Initialiseer alle IO poorten
Initialiseer de registers
Kijk of we in programming mode zitten (is de PRGM toets ingedrukt)
Als dat zo is
meet een lange reeks RC pulsen
maak het gemiddelde
bewaar dat gemiddelde in de EEPROM als Neutrale stand
biep de motor één keer
wacht tot de PRGM-knop opniew wordt ingedrukt
meet een lange reeks RC pulsen
maak het gemiddelde
bewaar dat gemiddelde in de EEPROM als Maximale stand
biep de motor twee keer
wacht tot de PRGM-knop opniew wordt ingedrukt
meet een lange reeks RC pulsen
maak het gemiddelde
bewaar dat gemiddelde in de EEPROM als Minimale stand
biep de motor drie keer
Eindeloze loop (om te voorkomen dat de controller start met de zender op maximum achteruit)
Einde_als
Lees uit de EEPROM de waardes voor Neutraal, Maximum en Minimum.
Ga na of er een degelijk RC signaal binnen komt (minstens 10 goede pulsen op een rij)
Initialiseer de watchdog timer (dat is de Fail save)
Initialiseer de registers voor het meten van de RC puls op basis van pin change interrupt (de vorige metingen zijn wachtloop gebaseerd)
eindeloze loop (het eigenlijke hoofdprogramma doet niets)
De interrupt routine
Als het het begin van een RC puls is
Start de timer
als het het einde van een RC puls is
Stop de timer
ga na of het een deglijke RC puls is (niet te groot niet te klein)
als het een degelijke puls is
bereken de variatie met de vorige puls
als die varietie te groot is beperk de variatie
als de richting omkeert stop de motor tot de volgende puls (=20ms)
anders bereken de PWM signalen en zet ze op de juiste pinnen
einde interrupt routine
Het zou niet veel moeite kosten om de ongebruikte IO-poort aan te sluiten op een NTC weerstand en zo de temperatuur van de koelvin te lezen. Dan zou je als je dat wil ook de controller kunnen stil leggen als dat koellichaam te warm wordt.
Voorlopig ga ik dat niet voorzien. Ik denk dat ik de controller in 5 minuten nooit zo heet krijg dat het een probleem wordt voor de FET's.
Groetjes
Jan
Ik schrijf mijn programmas vandaag in C in Studio 4.
Ik flash het programma vanuit studio 4 naar de controller.
Ik heb ook wel aardig wat in assebler gedaan ook in studio 4.
Om in C te kunnen werken in studio 4 gebruik in WINAVR.
Om dat alles te kunnen is de volgorde van installatie belangrijk.
Eerst WINAVR
Dan Studio 4
Dan de USB driver voor de programmer
Dan de rest van de software die meegeleverd is met de programmer
Dan de programmer en de C configureren in Studio 4
Het kost wat moeite... maar het eindresultaat is een heel aangename werkomgeving... schrijven in C, compileren met een druk op één knop, simmuleren in de emulator met één druk op de knop, laden in de microcontroler met één druk op de knop.
En zo een compile flash -cycle is 10 seconden hooguit.
Groetjes,
Jan
Ik flash het programma vanuit studio 4 naar de controller.
Ik heb ook wel aardig wat in assebler gedaan ook in studio 4.
Om in C te kunnen werken in studio 4 gebruik in WINAVR.
Om dat alles te kunnen is de volgorde van installatie belangrijk.
Eerst WINAVR
Dan Studio 4
Dan de USB driver voor de programmer
Dan de rest van de software die meegeleverd is met de programmer
Dan de programmer en de C configureren in Studio 4
Het kost wat moeite... maar het eindresultaat is een heel aangename werkomgeving... schrijven in C, compileren met een druk op één knop, simmuleren in de emulator met één druk op de knop, laden in de microcontroler met één druk op de knop.
En zo een compile flash -cycle is 10 seconden hooguit.
Groetjes,
Jan
MPLAB heb ik uitsluitend met assembler gebruikt.
Maar MPLAB gebruiken om een controller te programmeren daar is echt geen hulp bij nodig (denk ik)... SW installeren, serial cable aansluiten voeding insteken, een controller in de ZIP socket steken, de juiste controller aangeven in MPLAB...en flashen maar...
Als je de MPLAB en een portable mee brengt op één of ander event dan wil ik het graag nog eens kijken of we hem samen aan het flahsen krijgen.
Groetjes
Jan
Maar MPLAB gebruiken om een controller te programmeren daar is echt geen hulp bij nodig (denk ik)... SW installeren, serial cable aansluiten voeding insteken, een controller in de ZIP socket steken, de juiste controller aangeven in MPLAB...en flashen maar...
Als je de MPLAB en een portable mee brengt op één of ander event dan wil ik het graag nog eens kijken of we hem samen aan het flahsen krijgen.
Groetjes
Jan
Leuk ding Amen!
Zie veel dingen terug komen Ben tegenwoordig ook een stuk wijzer geworden met pic proggen etc etc (ik kan het nu wel wat meer zelf ) en zal vast ook nog wel weer een veel te dikke controller willen bouwen.
Maar heb de stroommeet-shunt nooit binnengekregen
Leuk project om dit allemaal uit te leggen! Succes!
tr. www.makepcb.com kun je heel cheap prints bestellen...
Zie veel dingen terug komen Ben tegenwoordig ook een stuk wijzer geworden met pic proggen etc etc (ik kan het nu wel wat meer zelf ) en zal vast ook nog wel weer een veel te dikke controller willen bouwen.
Maar heb de stroommeet-shunt nooit binnengekregen
Leuk project om dit allemaal uit te leggen! Succes!
tr. www.makepcb.com kun je heel cheap prints bestellen...