sábado, 11 de agosto de 2012

Motorizando patinete infantil




Uma postagem anterior mostrava a motorização de um carrinho de criança usando um motor de vidro elétrico, um ESC com relés tendo como "celebro" um PICAXE 08M, veja aqui. Desta vez o alvo é uma patinete da Barbie, brinquedo de minha filha de cinco anos. O motor usado, bem como as adaptações feitas no conjunto motor redutor são as mesmas do carrinho. Como não há necessidade de ré os relés foram dispensados. A placa, usada para controlar a velocidade tem basicamente o Picaxe, um mosfet e um regulador de voltagem.

Adaptação mecânica

Algumas modificações foram feitas. O eixo traseiro foi substituído por uma barra roscada de 3/8”. Essa barra passo por dentro da engrenagem centrar do conjunto motor redutor. Assim como no carrinho a barra é presa no motor e nas rodas com uso de porca e contra porca. Dois pequenos pedaços de tubo de PVC 1/2" foram usados para afastar as rodas da patinete. Foi feito um furo na parte traseira para que fosse possível abrigar a placa de controle no interior da patinete e prender o motor com auxilio de uma abraçadeira feita de chapa de alumínio.

Parte eletroeletrônica

Ao lado é possível ver o diagrama do circuito usado para controlar a velocidade de rotação o motor. O acelerador está representado como um potenciometro mas, na verdade, não sei o que ele realmente tem dentro. Consegui usa-ló depois de alguns testes. Dois pinos do PICAXE 08M são usados, uma como entrada analógica para o acelerador e outro como saída PWM para o mosfet, que aciona o motor. Um acoplador ótico é usado entre o picaxe e o mosfet. A placa ainda possui um regulador de voltagem 7805 responsável pela alimentação do PICAXE (5V).

O programa

O programa é extremamente simples Nele o picaxe lê o valor do acelerador através de uma entrada analógica. Vale ressaltar que o acelerador usado aqui quando na posição de descano envia um valor maior que zero. Depois de alguns testes percebeu-se que 250 seria o valor suficiente para garantir que a patinete permanecesse parada quando não houvesse acionamento do acelerador. Quando o valor é menor que 250 o programa mantém o motor parado. Quando o valor lido é maior que 250 esse valor e usado para gerar o PWM que será aplicado ao motor através do pino 2.


symbol acel_value = w1

symbol motor_pin =  2

main: 'loop principal

' le o valor do acelerador no pino 4 e armazena
' em acel_value (w1)

READADC10 4, acel_value  

'se o valor for menor que 250 mantem o motor parado

if acel_value < 250  then 

pwmout motor_pin,255,0

'se o valor for maior que 250 aplica-o (PWM) ao motor

else

pwmout motor_pin,255,acel_value

endif

goto main 'fim do loop principal